浏览代码

Property Coords

master
30117125 4 年前
父节点
当前提交
d0293231c8

+ 32
- 0
UnivateProperties_API/Containers/ProcessFlow/BidItemDisplay.cs 查看文件

28
     public class BidItemNew : BidItem
28
     public class BidItemNew : BidItem
29
     {
29
     {
30
         public int UserId { get; set; }
30
         public int UserId { get; set; }
31
+
32
+        public TenderWeek TenderWeek { get; set; }
33
+    }
34
+
35
+    public class TenderWeek
36
+    {
37
+        public DateTime ArrivalDate { get; set; }
38
+        public int Bedrooms { get; set; }
39
+        public DateTime DepartureDate { get; set; }
40
+        public decimal LevyAmount { get; set; }
41
+        public int MaxSleeps { get; set; }
42
+        public string Season { get; set; }
43
+        public decimal SellingPrice { get; set; }
44
+        public string UnitNumber { get; set; }
45
+        public string WeekNumber { get; set; }
46
+
47
+        public TenderResort Resort { get; set; }
48
+
49
+        public TenderRegion Region { get; set; }
50
+    }
51
+
52
+    public class TenderResort
53
+    {        
54
+        public string ResortCode { get; set; }    
55
+        public string ResortName { get; set; }
56
+    }
57
+
58
+    public class TenderRegion 
59
+    { 
60
+        public int Id { get; set; }
61
+        public string RegionCode { get; set; }
62
+        public string RegionName { get; set; }
31
     }
63
     }
32
 }
64
 }

+ 2
- 0
UnivateProperties_API/Containers/Timeshare/Detailed/DetailedBankDetails.cs 查看文件

23
             BankId = bankAccount.BankId;
23
             BankId = bankAccount.BankId;
24
             AccountHolder = bankAccount.AccountHolder;
24
             AccountHolder = bankAccount.AccountHolder;
25
             AccountNumber = bankAccount.AccountNumber;
25
             AccountNumber = bankAccount.AccountNumber;
26
+            Bank = bankAccount.Bank;
26
         }
27
         }
27
 
28
 
28
         public int Id { get; set; }
29
         public int Id { get; set; }
29
         public int? BankId { get; set; }
30
         public int? BankId { get; set; }
30
         public string AccountHolder { get; set; } = "";
31
         public string AccountHolder { get; set; } = "";
31
         public string AccountNumber { get; set; } = "";
32
         public string AccountNumber { get; set; } = "";
33
+        public Bank Bank { get; set; }
32
     }
34
     }
33
 }
35
 }

+ 1
- 1
UnivateProperties_API/Containers/Timeshare/Detailed/DetailedOwner.cs 查看文件

26
                 Address = individual.Address != null ? new DetailedAddress(individual.Address) : new DetailedAddress();
26
                 Address = individual.Address != null ? new DetailedAddress(individual.Address) : new DetailedAddress();
27
             }
27
             }
28
             else Address = new DetailedAddress();
28
             else Address = new DetailedAddress();
29
-            if (BankingDetails != null)
29
+            if (individual.BankAccount != null)
30
             {
30
             {
31
                 BankingDetails = individual.BankAccount != null ? new DetailedBankDetails(individual.BankAccount) : new DetailedBankDetails();
31
                 BankingDetails = individual.BankAccount != null ? new DetailedBankDetails(individual.BankAccount) : new DetailedBankDetails();
32
             }
32
             }

+ 57
- 0
UnivateProperties_API/Containers/Timeshare/TimeshareWeekDto.cs 查看文件

1
+using JetBrains.Annotations;
2
+using Org.BouncyCastle.Asn1.Mozilla;
3
+using System;
4
+using System.Collections.Generic;
5
+using System.Linq;
6
+using System.Threading.Tasks;
7
+using UnivateProperties_API.Model.Misc;
8
+using UnivateProperties_API.Model.Timeshare;
9
+
10
+namespace UnivateProperties_API.Containers.Timeshare
11
+{
12
+    public class TimeshareWeekDto : TimeshareWeek
13
+    {
14
+        public OwnerObject OwnerObject { get; set; }
15
+    }
16
+
17
+    public class OwnerObject
18
+    {
19
+        public int Id { get; set; }
20
+        public string Name { get; set; }
21
+        public string Surname { get; set; }
22
+        public string IdNumber { get; set; }
23
+        public string CompanyRegNumber { get; set; }
24
+        public string MaritalStatus { get; set; }
25
+        public string EmailAddress { get; set; }
26
+        public string CellNumber { get; set; }
27
+        public string LandlineNumber { get; set; }
28
+        public OwnerAddress Address { get; set; }
29
+        public OnwerBankingDetails BankingDetails { get; set; }
30
+    }
31
+
32
+    public class OwnerAddress
33
+    {
34
+        public int Id { get; set; }
35
+        public string StreetNumber { get; set; }
36
+        public string Street { get; set; }
37
+        public string Suburb { get; set; }
38
+        public string City { get; set; }
39
+        public string Province { get; set; }
40
+        public string PostalCode { get; set; }
41
+    }
42
+
43
+    public class OnwerBankingDetails
44
+    {
45
+        public int Id { get; set; }
46
+        public string AccountNumber { get; set; }
47
+        public string AccountHolder { get; set; }
48
+        public OwnerBank Bank { get; set; }
49
+    }
50
+
51
+    public class OwnerBank
52
+    {
53
+        public string Name { get; set;  }
54
+        public string UniversalBranchCode { get; set; }
55
+        public int Id { get; set; }        
56
+    }
57
+}

+ 3
- 3
UnivateProperties_API/Containers/Timeshare/WeekDto.cs 查看文件

18
             Id = id;
18
             Id = id;
19
             List<string> split = line.Split(",").ToList();
19
             List<string> split = line.Split(",").ToList();
20
             AgentAsRep = false;
20
             AgentAsRep = false;
21
-            Resort = new ResortDto(split[0].Trim(), split[0].Trim());
21
+            Resort = new ResortDto(split[0].Trim(), TenderWeeksHelper.GetResortName(split[0].Trim()));
22
             UnitNumber = split[1].Trim();
22
             UnitNumber = split[1].Trim();
23
             WeekNumber = split[2].Trim();
23
             WeekNumber = split[2].Trim();
24
             switch (split[8].Trim())
24
             switch (split[8].Trim())
128
         public bool ReferedByAgent { get; set; }
128
         public bool ReferedByAgent { get; set; }
129
 
129
 
130
         public string Display => $"{Resort.Display}  ({ArrivalDate.ToShortDateString()} - {DepartureDate.ToShortDateString()})";
130
         public string Display => $"{Resort.Display}  ({ArrivalDate.ToShortDateString()} - {DepartureDate.ToShortDateString()})";
131
-        public string WeekUni => $"{Resort.ResortCode} - {WeekNumber} - {UnitNumber}";
132
-    }
131
+        public string WeekUni => $"{Resort.ResortCode}-{UnitNumber}-{WeekNumber}";
132
+    }    
133
 }
133
 }

+ 3
- 2
UnivateProperties_API/Controllers/Communication/MailController.cs 查看文件

29
                     case 0:
29
                     case 0:
30
                         _repo.ContactUs(mm);
30
                         _repo.ContactUs(mm);
31
                         break;
31
                         break;
32
-
32
+                    case 1:
33
+                        _repo.EnquireNow(mm);
34
+                        break;
33
                 }
35
                 }
34
                 return new OkResult();
36
                 return new OkResult();
35
             }
37
             }
37
             {
39
             {
38
                 return new BadRequestResult();
40
                 return new BadRequestResult();
39
             }
41
             }
40
-
41
         }
42
         }
42
     }
43
     }
43
 }
44
 }

+ 7
- 1
UnivateProperties_API/Controllers/ProcessFlow/BidController.cs 查看文件

28
         [HttpGet("{id}")]
28
         [HttpGet("{id}")]
29
         public IActionResult Get(int id)
29
         public IActionResult Get(int id)
30
         {
30
         {
31
-            var item = _Repo.Get(x => x.Id == id);
31
+            var item = _Repo.GetDetailed(x => x.Id == id);
32
             return new OkObjectResult(item);
32
             return new OkObjectResult(item);
33
         }
33
         }
34
 
34
 
46
             return new OkObjectResult(item);
46
             return new OkObjectResult(item);
47
         }
47
         }
48
 
48
 
49
+        [HttpGet("GetNewBidTemplate")]
50
+        public IActionResult GetNewBidTemplate()
51
+        {
52
+            return new OkObjectResult(_Repo.NewBidTemplate());
53
+        }
54
+
49
         [HttpPost]
55
         [HttpPost]
50
         public IActionResult Post([FromBody] BidItemNew item)
56
         public IActionResult Post([FromBody] BidItemNew item)
51
         {
57
         {

+ 14
- 6
UnivateProperties_API/Controllers/Timeshare/TimeshareWeekController.cs 查看文件

1
 using Microsoft.AspNetCore.Mvc;
1
 using Microsoft.AspNetCore.Mvc;
2
+using System.Linq;
2
 using System.Transactions;
3
 using System.Transactions;
3
 using UnivateProperties_API.Containers.Timeshare;
4
 using UnivateProperties_API.Containers.Timeshare;
4
 using UnivateProperties_API.Model.Timeshare;
5
 using UnivateProperties_API.Model.Timeshare;
11
     [ApiController]
12
     [ApiController]
12
     public class TimeshareWeekController : ControllerBase
13
     public class TimeshareWeekController : ControllerBase
13
     {
14
     {
14
-        private readonly IRepository<TimeshareWeek> _Repo;
15
+        private readonly IWeekRepository _Repo;
15
 
16
 
16
-        public TimeshareWeekController(IRepository<TimeshareWeek> repo)
17
+        public TimeshareWeekController(IWeekRepository repo)
17
         {
18
         {
18
             _Repo = repo;
19
             _Repo = repo;
19
         }
20
         }
25
             return new OkObjectResult(items);
26
             return new OkObjectResult(items);
26
         }
27
         }
27
 
28
 
29
+        [HttpGet("GetTemplate")]
30
+        public IActionResult GetTemplate()
31
+        {
32
+            return new OkObjectResult(new TimeshareWeekDto());
33
+        }
34
+
28
         [HttpGet("{id}")]
35
         [HttpGet("{id}")]
29
         public IActionResult Get(int id)
36
         public IActionResult Get(int id)
30
         {
37
         {
71
             var item = (_Repo as WeekRepository).GetBy(week);
78
             var item = (_Repo as WeekRepository).GetBy(week);
72
             return new OkObjectResult(item);
79
             return new OkObjectResult(item);
73
         }
80
         }
74
-        
81
+
75
         [HttpPost]
82
         [HttpPost]
76
-        public IActionResult Post([FromBody] TimeshareWeek item)
83
+        public IActionResult Post([FromBody] TimeshareWeekDto item)
77
         {
84
         {
78
             using (var scope = new TransactionScope())
85
             using (var scope = new TransactionScope())
79
             {
86
             {
80
-                _Repo.Insert(item);
87
+                var id = _Repo.SaveNewWeek(item);                
88
+                var savedItem = _Repo.Get(x => x.Id == id).FirstOrDefault();
81
                 scope.Complete();
89
                 scope.Complete();
82
-                return CreatedAtAction(nameof(Get), new { id = item.Id }, item);
90
+                return new OkObjectResult(savedItem);
83
             }
91
             }
84
         }
92
         }
85
 
93
 

+ 60
- 0
UnivateProperties_API/Helpers/TenderWeeksHelper.cs 查看文件

1
+using Newtonsoft.Json;
2
+using RestSharp;
3
+using System.Collections.Generic;
4
+
5
+namespace UnivateProperties_API.Helpers
6
+{
7
+    public static class TenderWeeksHelper
8
+    {
9
+        public static List<UniPointResorts> UniResorts = new List<UniPointResorts>();
10
+
11
+        public static string GetResortName(string Code)
12
+        {
13
+            if (UniResorts.Count == 0)
14
+            {
15
+                var client = new RestClient("https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/resorts/list/")
16
+                {
17
+                    Timeout = -1
18
+                };
19
+                var request = new RestRequest(Method.GET);
20
+                IRestResponse response = client.Execute(request);
21
+                UniResorts = JsonConvert.DeserializeObject<List<UniPointResorts>>(response.Content);
22
+            }
23
+
24
+            var resort = UniResorts.Find(x => x.ResortCode == Code);
25
+            if (resort != null)
26
+                return resort.ResortName;
27
+            else
28
+                return Code;
29
+        }
30
+
31
+        public static string GetResortCode(string Name)
32
+        {
33
+            if (UniResorts.Count == 0)
34
+            {
35
+                var client = new RestClient("https://www.tradeunipoint.com/unibackend/seam/resource/rest/products/resorts/list/")
36
+                {
37
+                    Timeout = -1
38
+                };
39
+                var request = new RestRequest(Method.GET);
40
+                IRestResponse response = client.Execute(request);
41
+                UniResorts = JsonConvert.DeserializeObject<List<UniPointResorts>>(response.Content);
42
+            }
43
+
44
+            var resort = UniResorts.Find(x => x.ResortName == Name);
45
+            if (resort != null)
46
+                return resort.ResortCode;
47
+            else
48
+                return "";
49
+        }
50
+    }
51
+
52
+    public class UniPointResorts
53
+    {
54
+        public string ResortName { get; set; }
55
+        public string ResortCode { get; set; }
56
+        public string Town { get; set; }
57
+        public string City { get; set; }
58
+        public int Id { get; set; }
59
+    }
60
+}

+ 36
- 0
UnivateProperties_API/Repository/Communication/MailRepository.cs 查看文件

7
     public interface IMailRepository
7
     public interface IMailRepository
8
     {
8
     {
9
         void ContactUs(MailModel mm);
9
         void ContactUs(MailModel mm);
10
+        void EnquireNow(MailModel mm);
10
     }
11
     }
11
 
12
 
12
     public class MailRepository : IMailRepository
13
     public class MailRepository : IMailRepository
56
             client.Dispose();
57
             client.Dispose();
57
         }
58
         }
58
 
59
 
60
+        public void EnquireNow(MailModel mm)
61
+        {
62
+            string phone = mm.Phone;
63
+            string name = mm.Name;
64
+            string email = mm.Email;
65
+            string message = mm.Message;
66
+
67
+            from = new MailboxAddress("Admin", mm.FromAddress);
68
+
69
+            to = new MailboxAddress("User", mm.ToAddress);
70
+
71
+            messageObj.From.Add(from);
72
+            messageObj.To.Add(to);
59
 
73
 
74
+            messageObj.Subject = "Uni-Vate - Enquiry to view property";
75
+
76
+            bodyBuilder.HtmlBody = "<div style=\"margin: 5px\">" +
77
+                "<h4>Contact from: " + name + "!</h4>" +
78
+                "<h4>Email: " + email + "</h4>" +
79
+                "<h4>Phone: " + phone + "</h4>" +
80
+                "<div>" +
81
+                "<h4>Message: </h4>" +
82
+                "<p>" + message + "</p>" +
83
+                "</div>" +
84
+                "</div>" +
85
+                "</div>";
86
+
87
+            messageObj.Body = bodyBuilder.ToMessageBody();
88
+
89
+            client.Connect("smtp.gmail.com", 465, true);
90
+            client.Authenticate("jlouw365@gmail.com", "setskohatxpsceqo");
91
+
92
+            client.Send(messageObj);
93
+            client.Disconnect(true);
94
+            client.Dispose();
95
+        }
60
     }
96
     }
61
 }
97
 }

+ 56
- 4
UnivateProperties_API/Repository/ProccessFlow/BidRepository.cs 查看文件

34
         public BidItem GetDetailed(Func<BidItem, bool> first)
34
         public BidItem GetDetailed(Func<BidItem, bool> first)
35
         {
35
         {
36
             var item = _dbContext.BidItems.FirstOrDefault(first);
36
             var item = _dbContext.BidItems.FirstOrDefault(first);
37
+
38
+            if (item == null)
39
+            {
40
+                item = new BidItem();
41
+            }
42
+
37
             return item;
43
             return item;
38
         }
44
         }
39
 
45
 
185
         }
191
         }
186
 
192
 
187
         public void InsertNew(BidItemNew item)
193
         public void InsertNew(BidItemNew item)
188
-        {            
194
+        {
195
+            var status = _dbContext.Status.Where(x => x.Code == "E1").FirstOrDefault();
189
             var week = _dbContext.Weeks.Include("Owner").Where(x => x.Id == item.TimeshareWeekId).FirstOrDefault();
196
             var week = _dbContext.Weeks.Include("Owner").Where(x => x.Id == item.TimeshareWeekId).FirstOrDefault();
197
+
198
+            if (item.TenderWeek != null)
199
+            {
200
+                //owner is set to UniVate2018 user - will need to check who the owner of a tender week will be. 
201
+                var owner = _dbContext.Individuals.Where(o => o.UserId == 14).FirstOrDefault();
202
+                var region = _dbContext.Provinces.Where(p => p.Id == item.TenderWeek.Region.Id).FirstOrDefault();
203
+
204
+                week = new Model.Timeshare.TimeshareWeek();
205
+                week.Owner = owner;
206
+                week.OwnerId = owner.Id;
207
+                week.ResortCode = item.TenderWeek.Resort.ResortCode;
208
+                week.ResortName = item.TenderWeek.Resort.ResortName;
209
+                week.Region = region;
210
+                week.RegionId = region.Id;
211
+                week.Module = item.TenderWeek.WeekNumber;
212
+                week.Season = item.TenderWeek.Season;
213
+                week.Bedrooms = item.TenderWeek.Bedrooms;
214
+                week.MaxSleep = item.TenderWeek.MaxSleeps;
215
+                week.UnitNumber = item.TenderWeek.UnitNumber;
216
+                week.WeekNumber = item.TenderWeek.WeekNumber;
217
+                week.LevyAmount = (double)item.TenderWeek.LevyAmount;
218
+                week.CurrentYearBanked = false;
219
+                week.BankedWith = "";
220
+                week.LeviesPaidInFull = false;
221
+                week.WeekPlacedForRental = false;
222
+                week.OriginalPurchasePrice = (double)item.TenderWeek.SellingPrice;
223
+                week.OriginalPurchaseDate = DateTime.Now;
224
+                week.ArrivalDate = item.TenderWeek.ArrivalDate;
225
+                week.DepartureDate = item.TenderWeek.DepartureDate;
226
+                week.SellPrice = (double)item.TenderWeek.SellingPrice;
227
+                week.AgentCommision = 0;                
228
+                week.Status = status;
229
+                week.StatusId = status.Id;
230
+
231
+                _dbContext.Weeks.Add(week);
232
+                Save();
233
+
234
+                item.TimeshareWeek = week;
235
+            }
236
+
190
             var property = _dbContext.Properties.Include("Owner").Where(x => x.Id == item.PropertyId).FirstOrDefault();
237
             var property = _dbContext.Properties.Include("Owner").Where(x => x.Id == item.PropertyId).FirstOrDefault();
191
             BidItem bid = new BidItem();            
238
             BidItem bid = new BidItem();            
192
 
239
 
196
                     bid[prop] = item[prop];
243
                     bid[prop] = item[prop];
197
             }            
244
             }            
198
 
245
 
199
-            var status = _dbContext.Status.Where(x => x.Code == "E1").FirstOrDefault();
246
+           
200
             if (status != null)            
247
             if (status != null)            
201
                 bid.StatusId = status.Id;
248
                 bid.StatusId = status.Id;
202
 
249
 
273
                 Save();
320
                 Save();
274
             }
321
             }
275
             item.Id = bid.Id;
322
             item.Id = bid.Id;
276
-        }
323
+        }     
277
 
324
 
278
         public void Insert(IEnumerable<BidItem> items)
325
         public void Insert(IEnumerable<BidItem> items)
279
         {
326
         {
447
             bid.Date = item.Created;
494
             bid.Date = item.Created;
448
 
495
 
449
             return bid;
496
             return bid;
450
-        }        
497
+        }
498
+
499
+        public BidItemNew NewBidTemplate()
500
+        {
501
+            return new BidItemNew();
502
+        }
451
     }
503
     }
452
 }
504
 }

+ 1
- 0
UnivateProperties_API/Repository/ProccessFlow/IBidRepository.cs 查看文件

14
         List<BidItemDisplay> GetMyBid(Func<BidItem, bool> where);
14
         List<BidItemDisplay> GetMyBid(Func<BidItem, bool> where);
15
         BidItemDisplay AcceptBid(int id);
15
         BidItemDisplay AcceptBid(int id);
16
         BidItemDisplay DecineBid(BitItemDecline item);
16
         BidItemDisplay DecineBid(BitItemDecline item);
17
+        BidItemNew NewBidTemplate();
17
         void InsertNew(BidItemNew item);
18
         void InsertNew(BidItemNew item);
18
         BidItemDisplay GetDispaly(int id);
19
         BidItemDisplay GetDispaly(int id);
19
     }
20
     }

+ 124
- 3
UnivateProperties_API/Repository/Timeshare/WeekRepository.cs 查看文件

1
-using Microsoft.EntityFrameworkCore;
1
+using Abp.Domain.Entities;
2
+using Microsoft.EntityFrameworkCore;
2
 using System;
3
 using System;
3
 using System.Collections.Generic;
4
 using System.Collections.Generic;
4
 using System.Configuration;
5
 using System.Configuration;
21
 
22
 
22
 namespace UnivateProperties_API.Repository.Timeshare
23
 namespace UnivateProperties_API.Repository.Timeshare
23
 {
24
 {
24
-    public class WeekRepository : IRepository<TimeshareWeek>
25
+    public interface IWeekRepository : IRepository<TimeshareWeek>
26
+    {
27
+        int SaveNewWeek(TimeshareWeekDto sellItem);        
28
+    }
29
+
30
+    public class WeekRepository : IWeekRepository
25
     {
31
     {
26
         private readonly DataContext _dbContext;
32
         private readonly DataContext _dbContext;
27
 
33
 
64
             {
70
             {
65
                 list.Add(new WeekDto(item));
71
                 list.Add(new WeekDto(item));
66
             }
72
             }
73
+
74
+            var listIds = list.Select(x => x.WeekUni).ToList();
75
+
67
             foreach (var  item in GetTenderWeeks())
76
             foreach (var  item in GetTenderWeeks())
68
             {
77
             {
69
-                list.Add(item);
78
+                if (!listIds.Contains(item.WeekUni))
79
+                    list.Add(item);
70
             }
80
             }
71
             return list;
81
             return list;
72
         }
82
         }
430
                 Update(week);
440
                 Update(week);
431
             }
441
             }
432
         }
442
         }
443
+
444
+        public int SaveNewWeek(TimeshareWeekDto sellItem)
445
+        {
446
+            var owner = _dbContext.Individuals.Where(x => x.Id == sellItem.OwnerObject.Id).FirstOrDefault();
447
+            var address = _dbContext.Addresses.Where(a => a.Id == sellItem.OwnerObject.Address.Id).FirstOrDefault();
448
+            var banking = _dbContext.BankAccounts.Where(b => b.Id == sellItem.OwnerObject.BankingDetails.Id).FirstOrDefault();
449
+            var status = _dbContext.Status.Where(s => s.Code == "A1" && s.StatusType == StatusType.Timeshare).FirstOrDefault();
450
+
451
+            #region Address
452
+            if (sellItem.OwnerObject.Address.PostalCode != "")
453
+            {
454
+                if (address == null)
455
+                {
456
+                    address = new Model.Misc.Address();
457
+                }
458
+                address.StreetNumber = sellItem.OwnerObject.Address.StreetNumber;
459
+                address.Street = sellItem.OwnerObject.Address.Street;
460
+                address.Suburb = sellItem.OwnerObject.Address.Suburb;
461
+                address.City = sellItem.OwnerObject.Address.City;
462
+                address.Province = sellItem.OwnerObject.Address.Province;
463
+                address.PostalCode = sellItem.OwnerObject.Address.PostalCode;
464
+
465
+                if (address.Id == 0)
466
+                {
467
+                    _dbContext.Add(address);
468
+                    Save();
469
+                }
470
+                else
471
+                {
472
+                    _dbContext.Entry(address).State = EntityState.Modified;
473
+                    Save();
474
+                }
475
+            }
476
+            #endregion
477
+
478
+            #region Banking
479
+            if (sellItem.OwnerObject.BankingDetails.AccountHolder != "")
480
+            {
481
+                if (banking == null)
482
+                {
483
+                    banking = new Model.Banks.BankAccount();
484
+                }
485
+                banking.AccountHolder = sellItem.OwnerObject.BankingDetails.AccountHolder;
486
+                banking.AccountNumber = sellItem.OwnerObject.BankingDetails.AccountNumber;
487
+                banking.BankId = sellItem.OwnerObject.BankingDetails.Bank.Id;
488
+
489
+                if (banking.Id == 0)
490
+                {
491
+                    _dbContext.Add(banking);
492
+                    Save();
493
+                }
494
+                else
495
+                {
496
+                    _dbContext.Entry(banking).State = EntityState.Modified;
497
+                    Save();
498
+                }
499
+            }
500
+            #endregion
501
+
502
+            #region Owner
503
+            if (owner == null)
504
+            {
505
+                owner = new Model.Users.Individual();
506
+            }
507
+            if (address != null)
508
+            {
509
+                owner.AddressId = address.Id;
510
+                owner.Address = address;
511
+            }
512
+            if (banking != null)
513
+            {
514
+                owner.BankAccount = banking;
515
+                owner.BankAccountId = banking.Id;
516
+            }
517
+            owner.Name = sellItem.OwnerObject.Name;
518
+            owner.Surname = sellItem.OwnerObject.Surname;
519
+            owner.IdNumber = sellItem.OwnerObject.IdNumber;
520
+            owner.CompanyRegNumber = sellItem.OwnerObject.CompanyRegNumber;
521
+            owner.MaritalStatus = sellItem.OwnerObject.MaritalStatus;
522
+            owner.Email = sellItem.OwnerObject.EmailAddress;
523
+            owner.CellNumber = sellItem.OwnerObject.CellNumber;
524
+            owner.Telephone = sellItem.OwnerObject.LandlineNumber;
525
+
526
+            if (owner.Id == 0)
527
+            {
528
+                _dbContext.Add(owner);
529
+                Save();
530
+            }
531
+            else
532
+            {
533
+                _dbContext.Entry(owner).State = EntityState.Modified;
534
+                Save();
535
+            }
536
+            #endregion
537
+
538
+            var week = new TimeshareWeek();
539
+            foreach(string prop in week.GetAllProperties())
540
+            {
541
+                if (prop != "Item" && prop != "Display")
542
+                    week[prop] = sellItem[prop];
543
+            }
544
+            week.Region = null;
545
+            week.RegionId = sellItem.Region.Id;
546
+            week.OwnerId = owner.Id;
547
+
548
+            week.StatusId = status.Id;
549
+            _dbContext.Add(week);
550
+            Save();
551
+
552
+            return week.Id;
553
+        }
433
     }
554
     }
434
 }
555
 }

+ 4
- 0
UnivateProperties_API/Repository/Users/IndividualRepository.cs 查看文件

61
             var item = _dbContext.Individuals.Include("Address").Include("BankAccount").FirstOrDefault(x => x.UserId == id);
61
             var item = _dbContext.Individuals.Include("Address").Include("BankAccount").FirstOrDefault(x => x.UserId == id);
62
             if(item != null)
62
             if(item != null)
63
             {
63
             {
64
+                if (item.BankAccount != null && item.BankAccount.BankId > 0)
65
+                {
66
+                    item.BankAccount.Bank = _dbContext.Banks.Where(b => b.Id == item.BankAccount.BankId).FirstOrDefault();
67
+                }
64
                 return new DetailedOwner(item);
68
                 return new DetailedOwner(item);
65
             }
69
             }
66
             else
70
             else

+ 1
- 1
UnivateProperties_API/Startup.cs 查看文件

135
             services.AddTransient<IRepository<Season>, SeasonRepository>();
135
             services.AddTransient<IRepository<Season>, SeasonRepository>();
136
             services.AddTransient<IRepository<UnitConfiguration>, UnitConfigurationRepository>();
136
             services.AddTransient<IRepository<UnitConfiguration>, UnitConfigurationRepository>();
137
             services.AddTransient<IRepository<TimeshareWeek>, WeekRepository>();
137
             services.AddTransient<IRepository<TimeshareWeek>, WeekRepository>();
138
-            services.AddTransient<IRepository<TimeshareWeek>, WeekRepository>();
138
+            services.AddTransient<IWeekRepository, WeekRepository>();
139
             services.AddTransient<IRepository<Bank>, BankAccountRepository>();
139
             services.AddTransient<IRepository<Bank>, BankAccountRepository>();
140
             services.AddTransient<IRepository<BankAccount>, BankAccountRepository>();
140
             services.AddTransient<IRepository<BankAccount>, BankAccountRepository>();
141
             #endregion Timeshare
141
             #endregion Timeshare

正在加载...
取消
保存