Kaynağa Gözat

Property Coords

master
30117125 4 yıl önce
ebeveyn
işleme
d0293231c8

+ 32
- 0
UnivateProperties_API/Containers/ProcessFlow/BidItemDisplay.cs Dosyayı Görüntüle

@@ -28,5 +28,37 @@ namespace UnivateProperties_API.Containers.ProcessFlow
28 28
     public class BidItemNew : BidItem
29 29
     {
30 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 Dosyayı Görüntüle

@@ -23,11 +23,13 @@ namespace UnivateProperties_API.Containers.Timeshare.Detailed
23 23
             BankId = bankAccount.BankId;
24 24
             AccountHolder = bankAccount.AccountHolder;
25 25
             AccountNumber = bankAccount.AccountNumber;
26
+            Bank = bankAccount.Bank;
26 27
         }
27 28
 
28 29
         public int Id { get; set; }
29 30
         public int? BankId { get; set; }
30 31
         public string AccountHolder { get; set; } = "";
31 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 Dosyayı Görüntüle

@@ -26,7 +26,7 @@ namespace UnivateProperties_API.Containers.Timeshare.Detailed
26 26
                 Address = individual.Address != null ? new DetailedAddress(individual.Address) : new DetailedAddress();
27 27
             }
28 28
             else Address = new DetailedAddress();
29
-            if (BankingDetails != null)
29
+            if (individual.BankAccount != null)
30 30
             {
31 31
                 BankingDetails = individual.BankAccount != null ? new DetailedBankDetails(individual.BankAccount) : new DetailedBankDetails();
32 32
             }

+ 57
- 0
UnivateProperties_API/Containers/Timeshare/TimeshareWeekDto.cs Dosyayı Görüntüle

@@ -0,0 +1,57 @@
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 Dosyayı Görüntüle

@@ -18,7 +18,7 @@ namespace UnivateProperties_API.Containers.Timeshare
18 18
             Id = id;
19 19
             List<string> split = line.Split(",").ToList();
20 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 22
             UnitNumber = split[1].Trim();
23 23
             WeekNumber = split[2].Trim();
24 24
             switch (split[8].Trim())
@@ -128,6 +128,6 @@ namespace UnivateProperties_API.Containers.Timeshare
128 128
         public bool ReferedByAgent { get; set; }
129 129
 
130 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 Dosyayı Görüntüle

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

+ 7
- 1
UnivateProperties_API/Controllers/ProcessFlow/BidController.cs Dosyayı Görüntüle

@@ -28,7 +28,7 @@ namespace UnivateProperties_API.Controllers.ProcessFlow
28 28
         [HttpGet("{id}")]
29 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 32
             return new OkObjectResult(item);
33 33
         }
34 34
 
@@ -46,6 +46,12 @@ namespace UnivateProperties_API.Controllers.ProcessFlow
46 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 55
         [HttpPost]
50 56
         public IActionResult Post([FromBody] BidItemNew item)
51 57
         {

+ 14
- 6
UnivateProperties_API/Controllers/Timeshare/TimeshareWeekController.cs Dosyayı Görüntüle

@@ -1,4 +1,5 @@
1 1
 using Microsoft.AspNetCore.Mvc;
2
+using System.Linq;
2 3
 using System.Transactions;
3 4
 using UnivateProperties_API.Containers.Timeshare;
4 5
 using UnivateProperties_API.Model.Timeshare;
@@ -11,9 +12,9 @@ namespace UnivateProperties_API.Controllers.Timeshare
11 12
     [ApiController]
12 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 19
             _Repo = repo;
19 20
         }
@@ -25,6 +26,12 @@ namespace UnivateProperties_API.Controllers.Timeshare
25 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 35
         [HttpGet("{id}")]
29 36
         public IActionResult Get(int id)
30 37
         {
@@ -71,15 +78,16 @@ namespace UnivateProperties_API.Controllers.Timeshare
71 78
             var item = (_Repo as WeekRepository).GetBy(week);
72 79
             return new OkObjectResult(item);
73 80
         }
74
-        
81
+
75 82
         [HttpPost]
76
-        public IActionResult Post([FromBody] TimeshareWeek item)
83
+        public IActionResult Post([FromBody] TimeshareWeekDto item)
77 84
         {
78 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 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 Dosyayı Görüntüle

@@ -0,0 +1,60 @@
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 Dosyayı Görüntüle

@@ -7,6 +7,7 @@ namespace UnivateProperties_API.Repository.Communication
7 7
     public interface IMailRepository
8 8
     {
9 9
         void ContactUs(MailModel mm);
10
+        void EnquireNow(MailModel mm);
10 11
     }
11 12
 
12 13
     public class MailRepository : IMailRepository
@@ -56,6 +57,41 @@ namespace UnivateProperties_API.Repository.Communication
56 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 Dosyayı Görüntüle

@@ -34,6 +34,12 @@ namespace UnivateProperties_API.Repository.ProccessFlow
34 34
         public BidItem GetDetailed(Func<BidItem, bool> first)
35 35
         {
36 36
             var item = _dbContext.BidItems.FirstOrDefault(first);
37
+
38
+            if (item == null)
39
+            {
40
+                item = new BidItem();
41
+            }
42
+
37 43
             return item;
38 44
         }
39 45
 
@@ -185,8 +191,49 @@ namespace UnivateProperties_API.Repository.ProccessFlow
185 191
         }
186 192
 
187 193
         public void InsertNew(BidItemNew item)
188
-        {            
194
+        {
195
+            var status = _dbContext.Status.Where(x => x.Code == "E1").FirstOrDefault();
189 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 237
             var property = _dbContext.Properties.Include("Owner").Where(x => x.Id == item.PropertyId).FirstOrDefault();
191 238
             BidItem bid = new BidItem();            
192 239
 
@@ -196,7 +243,7 @@ namespace UnivateProperties_API.Repository.ProccessFlow
196 243
                     bid[prop] = item[prop];
197 244
             }            
198 245
 
199
-            var status = _dbContext.Status.Where(x => x.Code == "E1").FirstOrDefault();
246
+           
200 247
             if (status != null)            
201 248
                 bid.StatusId = status.Id;
202 249
 
@@ -273,7 +320,7 @@ namespace UnivateProperties_API.Repository.ProccessFlow
273 320
                 Save();
274 321
             }
275 322
             item.Id = bid.Id;
276
-        }
323
+        }     
277 324
 
278 325
         public void Insert(IEnumerable<BidItem> items)
279 326
         {
@@ -447,6 +494,11 @@ namespace UnivateProperties_API.Repository.ProccessFlow
447 494
             bid.Date = item.Created;
448 495
 
449 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 Dosyayı Görüntüle

@@ -14,6 +14,7 @@ namespace UnivateProperties_API.Repository.ProccessFlow
14 14
         List<BidItemDisplay> GetMyBid(Func<BidItem, bool> where);
15 15
         BidItemDisplay AcceptBid(int id);
16 16
         BidItemDisplay DecineBid(BitItemDecline item);
17
+        BidItemNew NewBidTemplate();
17 18
         void InsertNew(BidItemNew item);
18 19
         BidItemDisplay GetDispaly(int id);
19 20
     }

+ 124
- 3
UnivateProperties_API/Repository/Timeshare/WeekRepository.cs Dosyayı Görüntüle

@@ -1,4 +1,5 @@
1
-using Microsoft.EntityFrameworkCore;
1
+using Abp.Domain.Entities;
2
+using Microsoft.EntityFrameworkCore;
2 3
 using System;
3 4
 using System.Collections.Generic;
4 5
 using System.Configuration;
@@ -21,7 +22,12 @@ using UnivateProperties_API.Repository.Users;
21 22
 
22 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 32
         private readonly DataContext _dbContext;
27 33
 
@@ -64,9 +70,13 @@ namespace UnivateProperties_API.Repository.Timeshare
64 70
             {
65 71
                 list.Add(new WeekDto(item));
66 72
             }
73
+
74
+            var listIds = list.Select(x => x.WeekUni).ToList();
75
+
67 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 81
             return list;
72 82
         }
@@ -430,5 +440,116 @@ namespace UnivateProperties_API.Repository.Timeshare
430 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 Dosyayı Görüntüle

@@ -61,6 +61,10 @@ namespace UnivateProperties_API.Repository.Users
61 61
             var item = _dbContext.Individuals.Include("Address").Include("BankAccount").FirstOrDefault(x => x.UserId == id);
62 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 68
                 return new DetailedOwner(item);
65 69
             }
66 70
             else

+ 1
- 1
UnivateProperties_API/Startup.cs Dosyayı Görüntüle

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

Loading…
İptal
Kaydet