ソースを参照

Multiple Updates and Fixes

master
30117125 4年前
コミット
5a60794b85

+ 7
- 0
UnivateProperties_API/Controllers/Timeshare/TimeshareWeekController.cs ファイルの表示

@@ -99,6 +99,13 @@ namespace UnivateProperties_API.Controllers.Timeshare
99 99
             return new OkObjectResult(item);
100 100
         }
101 101
 
102
+        [HttpGet("indivWeekCount/{id}")]
103
+        public IActionResult IndivWeekCount(int id)
104
+        {
105
+            var count = (_Repo as WeekRepository).IndivWeekCount(id);
106
+            return new OkObjectResult(count);
107
+        }
108
+
102 109
 
103 110
         [HttpPost]
104 111
         public IActionResult Post([FromBody] TimeshareWeekDto item)

+ 1743
- 0
UnivateProperties_API/Migrations/20201124064130_nonRegUserSpouse.Designer.cs
ファイル差分が大きすぎるため省略します
ファイルの表示


+ 68
- 0
UnivateProperties_API/Migrations/20201124064130_nonRegUserSpouse.cs ファイルの表示

@@ -0,0 +1,68 @@
1
+using Microsoft.EntityFrameworkCore.Migrations;
2
+
3
+namespace UnivateProperties_API.Migrations
4
+{
5
+    public partial class nonRegUserSpouse : Migration
6
+    {
7
+        protected override void Up(MigrationBuilder migrationBuilder)
8
+        {
9
+            migrationBuilder.AddColumn<int>(
10
+                name: "HowMarried",
11
+                table: "NonRegIndividuals",
12
+                nullable: false,
13
+                defaultValue: 0);
14
+
15
+            migrationBuilder.AddColumn<string>(
16
+                name: "SpouseCellnumber",
17
+                table: "NonRegIndividuals",
18
+                nullable: true);
19
+
20
+            migrationBuilder.AddColumn<string>(
21
+                name: "SpouseEmail",
22
+                table: "NonRegIndividuals",
23
+                nullable: true);
24
+
25
+            migrationBuilder.AddColumn<string>(
26
+                name: "SpouseName",
27
+                table: "NonRegIndividuals",
28
+                nullable: true);
29
+
30
+            migrationBuilder.AddColumn<string>(
31
+                name: "SpouseSurname",
32
+                table: "NonRegIndividuals",
33
+                nullable: true);
34
+
35
+            migrationBuilder.AddColumn<string>(
36
+                name: "SpouseTelephone",
37
+                table: "NonRegIndividuals",
38
+                nullable: true);
39
+        }
40
+
41
+        protected override void Down(MigrationBuilder migrationBuilder)
42
+        {
43
+            migrationBuilder.DropColumn(
44
+                name: "HowMarried",
45
+                table: "NonRegIndividuals");
46
+
47
+            migrationBuilder.DropColumn(
48
+                name: "SpouseCellnumber",
49
+                table: "NonRegIndividuals");
50
+
51
+            migrationBuilder.DropColumn(
52
+                name: "SpouseEmail",
53
+                table: "NonRegIndividuals");
54
+
55
+            migrationBuilder.DropColumn(
56
+                name: "SpouseName",
57
+                table: "NonRegIndividuals");
58
+
59
+            migrationBuilder.DropColumn(
60
+                name: "SpouseSurname",
61
+                table: "NonRegIndividuals");
62
+
63
+            migrationBuilder.DropColumn(
64
+                name: "SpouseTelephone",
65
+                table: "NonRegIndividuals");
66
+        }
67
+    }
68
+}

+ 12
- 0
UnivateProperties_API/Migrations/DataContextModelSnapshot.cs ファイルの表示

@@ -1338,6 +1338,8 @@ namespace UnivateProperties_API.Migrations
1338 1338
 
1339 1339
                     b.Property<string>("EmailAddress");
1340 1340
 
1341
+                    b.Property<int>("HowMarried");
1342
+
1341 1343
                     b.Property<string>("IDNumber");
1342 1344
 
1343 1345
                     b.Property<bool>("IsDeleted");
@@ -1348,6 +1350,16 @@ namespace UnivateProperties_API.Migrations
1348 1350
 
1349 1351
                     b.Property<string>("Name");
1350 1352
 
1353
+                    b.Property<string>("SpouseCellnumber");
1354
+
1355
+                    b.Property<string>("SpouseEmail");
1356
+
1357
+                    b.Property<string>("SpouseName");
1358
+
1359
+                    b.Property<string>("SpouseSurname");
1360
+
1361
+                    b.Property<string>("SpouseTelephone");
1362
+
1351 1363
                     b.Property<string>("Surname");
1352 1364
 
1353 1365
                     b.Property<string>("TelephoneNumber");

+ 39
- 0
UnivateProperties_API/Model/Users/Individual.cs ファイルの表示

@@ -104,6 +104,45 @@ namespace UnivateProperties_API.Model.Users
104 104
                     User.Role = owner.User.Role;
105 105
                     User.LoginPasswordChange = owner.User.LoginPasswordChange;
106 106
                 }
107
+
108
+                if (owner.HowMarried != "0")
109
+                {
110
+                    switch (owner.HowMarried)
111
+                    {
112
+                        case "1":
113
+                            HowMarried = MarriedType.ICOP;
114
+                            break;
115
+                        case "2":
116
+                            HowMarried = MarriedType.OCOP;
117
+                            break;
118
+                        case "3":
119
+                            HowMarried = MarriedType.Other;
120
+                            break;
121
+                        case "4":
122
+                            HowMarried = MarriedType.Traditional;
123
+                            break;
124
+                        case "5":
125
+                            HowMarried = MarriedType.Single;
126
+                            break;
127
+                        case "6":
128
+                            HowMarried = MarriedType.Divorced;
129
+                            break;
130
+                        case "7":
131
+                            HowMarried = MarriedType.Widow;
132
+                            break;
133
+                        case "8":
134
+                            HowMarried = MarriedType.CommittedRelationship;
135
+                            break;
136
+                        case "9":
137
+                            HowMarried = MarriedType.Partner;
138
+                            break;
139
+                    }
140
+                    SpouseName = owner.SpouseName;
141
+                    SpouseSurname = owner.SpouseSurname;
142
+                    SpouseCellnumber = owner.SpouseCellnumber;
143
+                    SpouseTelephone = owner.SpouseTelephone;
144
+                    SpouseEmail = owner.SpouseEmail;                    
145
+                }
107 146
             }
108 147
         }
109 148
         #endregion Methods

+ 9
- 0
UnivateProperties_API/Model/Users/NonRegIndividual.cs ファイルの表示

@@ -15,6 +15,15 @@ namespace UnivateProperties_API.Model.Users
15 15
         public string CellNumber { get; set; }
16 16
         [Phone]
17 17
         public string TelephoneNumber { get; set; }
18
+        public MarriedType HowMarried { get; set; }
19
+        public string SpouseName { get; set; }
20
+        public string SpouseSurname { get; set; }
21
+        [DataType(DataType.EmailAddress)]
22
+        public string SpouseEmail { get; set; }
23
+        [Phone]
24
+        public string SpouseTelephone { get; set; }
25
+        [Phone]
26
+        public string SpouseCellnumber { get; set; }
18 27
 
19 28
         [ForeignKey("TimeshareWeek")]
20 29
         public int? WeekId { get; set; }

+ 10
- 9
UnivateProperties_API/Repository/Communication/MailRepository.cs ファイルの表示

@@ -1,4 +1,5 @@
1 1
 using Abp.Specifications;
2
+using MimeKit;
2 3
 using System;
3 4
 using System.Collections.Generic;
4 5
 using System.Linq;
@@ -40,8 +41,8 @@ namespace UnivateProperties_API.Repository.Communication
40 41
 
41 42
         public void ContactUs(MailModel mm)
42 43
         {
43
-            var recipients = _dbContext.MailRecipients.Where(x => x.RecipientUsage == "ContactUs").ToList();            
44
-            string body = _dbContext.Templates.Where(x => x.Name == "ContactUs").FirstOrDefault().Body; 
44
+            var recipients = _dbContext.MailRecipients.Where(x => x.RecipientUsage == "ContactUs").Where(y => y.IsDeleted == false).ToList();            
45
+            string body = _dbContext.Templates.Where(x => x.Name == "ContactUs").Where(y => y.IsDeleted == false).FirstOrDefault().Body; 
45 46
 
46 47
             body = body.Replace("[FULLNAME]", mm.Name);
47 48
             body = body.Replace("[USEREMAIL]", mm.Email);
@@ -60,7 +61,7 @@ namespace UnivateProperties_API.Repository.Communication
60 61
             if (toList.Length > 0)
61 62
             {
62 63
                 if (emailCount == 1)
63
-                    toList = toList.Substring(0, toList.Length - 3);
64
+                    toList = toList.Substring(0, toList.Length - 2);
64 65
                 else
65 66
                     toList = toList.Substring(0, toList.Length - 2);
66 67
             }
@@ -111,7 +112,7 @@ namespace UnivateProperties_API.Repository.Communication
111 112
             if (toList.Length > 0)
112 113
             {
113 114
                 if (emailCount == 1)
114
-                    toList = toList.Substring(0, toList.Length - 3);
115
+                    toList = toList.Substring(0, toList.Length - 2);
115 116
                 else
116 117
                     toList = toList.Substring(0, toList.Length - 2);
117 118
             }
@@ -138,7 +139,6 @@ namespace UnivateProperties_API.Repository.Communication
138 139
 
139 140
         public void ForgotPassword(Individual toPerson, string link)
140 141
         {
141
-            
142 142
             string body = "<div style=\"margin: 5px\">" + 
143 143
                            "<h4>Dear " + toPerson.FullName + "</h4>" +
144 144
                            "<h4>There has been a request to reset your password. If this is incorrect please send an email to info@univateproperties.co.za</h4>" +
@@ -152,6 +152,7 @@ namespace UnivateProperties_API.Repository.Communication
152 152
                            "</div>";
153 153
 
154 154
             var host = _dbContext.Hosts.FirstOrDefault();
155
+
155 156
             using (SmtpClient smtp = new SmtpClient(host.Host))
156 157
             {
157 158
                 MailMessage mail = new MailMessage();
@@ -168,7 +169,7 @@ namespace UnivateProperties_API.Repository.Communication
168 169
                 smtp.Credentials = host.GetNetworkCredential();
169 170
                 smtp.EnableSsl = host.UseSSL;
170 171
                 smtp.Send(mail);
171
-            }                        
172
+            }
172 173
         }
173 174
 
174 175
         public void WeekOfferMadeOwner(TimeshareWeek week, BidItem bid)
@@ -198,7 +199,7 @@ namespace UnivateProperties_API.Repository.Communication
198 199
             if (toList.Length > 0)
199 200
             {
200 201
                 if (emailCount == 1)
201
-                    toList = toList.Substring(0, toList.Length - 3);
202
+                    toList = toList.Substring(0, toList.Length - 2);
202 203
                 else
203 204
                     toList = toList.Substring(0, toList.Length - 2);
204 205
             }
@@ -288,7 +289,7 @@ namespace UnivateProperties_API.Repository.Communication
288 289
             if (toList.Length > 0)
289 290
             {
290 291
                 if (emailCount == 1)
291
-                    toList = toList.Substring(0, toList.Length - 3);
292
+                    toList = toList.Substring(0, toList.Length - 2);
292 293
                 else
293 294
                     toList = toList.Substring(0, toList.Length - 2);
294 295
             }
@@ -334,7 +335,7 @@ namespace UnivateProperties_API.Repository.Communication
334 335
             if (toList.Length > 0)
335 336
             {
336 337
                 if (emailCount == 1)
337
-                    toList = toList.Substring(0, toList.Length - 3);
338
+                    toList = toList.Substring(0, toList.Length - 2);
338 339
                 else
339 340
                     toList = toList.Substring(0, toList.Length - 2);
340 341
             }

+ 160
- 75
UnivateProperties_API/Repository/Timeshare/WeekRepository.cs ファイルの表示

@@ -32,6 +32,7 @@ namespace UnivateProperties_API.Repository.Timeshare
32 32
     {
33 33
         int SaveNewWeek(TimeshareWeekDto sellItem);
34 34
         void PublishOnly(WeekDto week);
35
+        int IndivWeekCount(int id);
35 36
         List<WeekDto> GetAllByResortCode(string resortCode);
36 37
         List<dynamic> GetLatest();
37 38
         void PublishWeek(int WeekId);
@@ -163,6 +164,22 @@ namespace UnivateProperties_API.Repository.Timeshare
163 164
             return list;*/
164 165
         }
165 166
 
167
+        public int IndivWeekCount(int id)
168
+        {
169
+            var agent = _dbContext.Agents.Where(x => x.UserId == id).Where(y => y.IsDeleted == false).FirstOrDefault();
170
+            var indiv = _dbContext.Individuals.Where(x => x.UserId == id).Where(y => y.IsDeleted == false).FirstOrDefault();
171
+            int count = 0;
172
+            if (agent != null)
173
+            {
174
+                count = _dbContext.Weeks.Where(x => x.AgentId == agent.Id).Count();
175
+            }
176
+            else
177
+            {
178
+                count = _dbContext.Weeks.Where(x => x.OwnerId == indiv.Id).Count();
179
+            }
180
+            return count;
181
+        }
182
+
166 183
         public List<WeekDto> GetMyWeeks(int userId)
167 184
         {
168 185
             List<WeekDto> list = new List<WeekDto>();
@@ -860,82 +877,91 @@ namespace UnivateProperties_API.Repository.Timeshare
860 877
             #endregion
861 878
 
862 879
             #region Owner
863
-            if (owner == null)
864
-            {
865
-                owner = new Model.Users.Individual();
866
-            }
867
-            if (address != null)
868
-            {
869
-                owner.AddressId = address.Id;
870
-                owner.Address = address;
871
-            }
872
-            if (banking != null)
873
-            {
874
-                owner.BankAccount = banking;
875
-                owner.BankAccountId = banking.Id;
876
-            }
877
-            owner.Name = sellItem.OwnerObject.Name;
878
-            owner.Surname = sellItem.OwnerObject.Surname;
879
-            owner.IdNumber = sellItem.OwnerObject.IdNumber;
880
-            owner.CompanyRegNumber = sellItem.OwnerObject.CompanyRegNumber;            
881
-            owner.Email = sellItem.OwnerObject.EmailAddress;
882
-            owner.CellNumber = sellItem.OwnerObject.CellNumber;
883
-            owner.Telephone = sellItem.OwnerObject.LandlineNumber;
884
-            sellItem.DisplayOwner = owner.Name + " " +  owner.Surname;
885
-
886
-            switch (sellItem.OwnerObject.MaritalStatus.ToUpper())
887
-            {
888
-                case "N/A":
889
-                    owner.HowMarried = MarriedType.NotApplicable;
890
-                    break;
891
-                case "IN COMMUNITY OF PROPERTY":
892
-                    owner.HowMarried = MarriedType.ICOP;
893
-                    break;
894
-                case "OUT OF COMMUNITY OF PROPERTY":
895
-                    owner.HowMarried = MarriedType.OCOP;
896
-                    break;
897
-                case "OTHER":
898
-                    owner.HowMarried = MarriedType.Other;
899
-                    break;
900
-                case "TRADITIONAL WEDDING":
901
-                    owner.HowMarried = MarriedType.Traditional;
902
-                    break;
903
-                case "SINGLE":
904
-                    owner.HowMarried = MarriedType.Single;
905
-                    break;
906
-                case "DIVORCED":
907
-                    owner.HowMarried = MarriedType.Divorced;
908
-                    break;
909
-                case "WIDOW":
910
-                    owner.HowMarried = MarriedType.Widow;
911
-                    break;
912
-                case "COMMITTED RELATIONSHIP":
913
-                    owner.HowMarried = MarriedType.CommittedRelationship;
914
-                    break;
915
-                case "PARTNER":
916
-                    owner.HowMarried = MarriedType.Partner;
917
-                    break;
918
-                default:
919
-                    owner.HowMarried = MarriedType.NotApplicable;
920
-                    break;
921
-            }
880
+            if (!sellItem.CustomOwner)
881
+            {
882
+                if (owner == null)
883
+                {
884
+                    
885
+                    owner = new Model.Users.Individual();
886
+                }
887
+                if (address != null)
888
+                {
889
+                    owner.AddressId = address.Id;
890
+                    owner.Address = address;
891
+                }
892
+                if (banking != null)
893
+                {
894
+                    owner.BankAccount = banking;
895
+                    owner.BankAccountId = banking.Id;
896
+                }
897
+                owner.Name = sellItem.OwnerObject.Name;
898
+                owner.Surname = sellItem.OwnerObject.Surname;
899
+                owner.IdNumber = sellItem.OwnerObject.IdNumber;
900
+                owner.CompanyRegNumber = sellItem.OwnerObject.CompanyRegNumber;
901
+                owner.Email = sellItem.OwnerObject.EmailAddress;
902
+                owner.CellNumber = sellItem.OwnerObject.CellNumber;
903
+                owner.Telephone = sellItem.OwnerObject.LandlineNumber;
904
+                sellItem.DisplayOwner = owner.Name + " " + owner.Surname;
905
+
906
+                switch (sellItem.OwnerObject.MaritalStatus.ToUpper())
907
+                {
908
+                    case "N/A":
909
+                        owner.HowMarried = MarriedType.NotApplicable;
910
+                        break;
911
+                    case "IN COMMUNITY OF PROPERTY":
912
+                        owner.HowMarried = MarriedType.ICOP;
913
+                        break;
914
+                    case "OUT OF COMMUNITY OF PROPERTY":
915
+                        owner.HowMarried = MarriedType.OCOP;
916
+                        break;
917
+                    case "OTHER":
918
+                        owner.HowMarried = MarriedType.Other;
919
+                        break;
920
+                    case "TRADITIONAL WEDDING":
921
+                        owner.HowMarried = MarriedType.Traditional;
922
+                        break;
923
+                    case "SINGLE":
924
+                        owner.HowMarried = MarriedType.Single;
925
+                        break;
926
+                    case "DIVORCED":
927
+                        owner.HowMarried = MarriedType.Divorced;
928
+                        break;
929
+                    case "WIDOW":
930
+                        owner.HowMarried = MarriedType.Widow;
931
+                        break;
932
+                    case "COMMITTED RELATIONSHIP":
933
+                        owner.HowMarried = MarriedType.CommittedRelationship;
934
+                        break;
935
+                    case "PARTNER":
936
+                        owner.HowMarried = MarriedType.Partner;
937
+                        break;
938
+                    default:
939
+                        owner.HowMarried = MarriedType.NotApplicable;
940
+                        break;
941
+                }
922 942
 
923
-            owner.SpouseCellnumber = sellItem.OwnerObject.SpouseCellnumber;
924
-            owner.SpouseEmail = sellItem.OwnerObject.SpouseEmail;
925
-            owner.SpouseName = sellItem.OwnerObject.SpouseName;
926
-            owner.SpouseSurname = sellItem.OwnerObject.SpouseSurname;
927
-            owner.SpouseTelephone = sellItem.OwnerObject.SpouseSurname;
943
+                owner.SpouseCellnumber = sellItem.OwnerObject.SpouseCellnumber;
944
+                owner.SpouseEmail = sellItem.OwnerObject.SpouseEmail;
945
+                owner.SpouseName = sellItem.OwnerObject.SpouseName;
946
+                owner.SpouseSurname = sellItem.OwnerObject.SpouseSurname;
947
+                owner.SpouseTelephone = sellItem.OwnerObject.SpouseSurname;
928 948
 
929
-            if (owner.Id == 0)
930
-            {
931
-                _dbContext.Add(owner);
932
-                Save();
949
+                if (owner.Id == 0)
950
+                {
951
+                    _dbContext.Add(owner);
952
+                    Save();
953
+                }
954
+                else
955
+                {
956
+                    _dbContext.Entry(owner).State = EntityState.Modified;
957
+                    Save();
958
+                }
933 959
             }
934
-            else
960
+            else 
935 961
             {
936
-                _dbContext.Entry(owner).State = EntityState.Modified;
937
-                Save();
962
+                sellItem.DisplayOwner = sellItem.OwnerObject.Name + " " + sellItem.OwnerObject.Surname;
938 963
             }
964
+            
939 965
             #endregion
940 966
 
941 967
             var week = new TimeshareWeek();
@@ -947,7 +973,7 @@ namespace UnivateProperties_API.Repository.Timeshare
947 973
             week.Region = null;
948 974
             week.RegionId = sellItem.Region.Id;
949 975
             week.OwnerId = owner.Id;
950
-            sellItem.DisplayOwner = owner.FullName;
976
+            
951 977
             if (week.Mandate)
952 978
                 week.DateMandated = DateTime.Now;
953 979
 
@@ -970,7 +996,7 @@ namespace UnivateProperties_API.Repository.Timeshare
970 996
                 {
971 997
                     if (template != null)
972 998
                     {
973
-                        mailRepository.WeekLoadedOwner(sellItem);
999
+                        //mailRepository.WeekLoadedOwner(sellItem);
974 1000
                         //templateRepository.SendEmailTemplateWeek(template, owner, sellItem);
975 1001
                     }
976 1002
                     template = _dbContext.Templates.FirstOrDefault(x => x.Name == "WeekLoaded-UV");
@@ -998,11 +1024,70 @@ namespace UnivateProperties_API.Repository.Timeshare
998 1024
                         week.StatusId = statusItem.Id;
999 1025
                     }
1000 1026
                 }
1001
-            }
1002
-            
1027
+            }            
1003 1028
             _dbContext.Add(week);
1004 1029
             Save();
1030
+            if (sellItem.CustomOwner)
1031
+            {
1032
+                var indiv = new NonRegIndividual()
1033
+                {
1034
+                    Name = sellItem.OwnerObject.Name,
1035
+                    Surname = sellItem.OwnerObject.Surname,
1036
+                    IDNumber = sellItem.OwnerObject.IdNumber,
1037
+                    CompanyRegNumber = sellItem.OwnerObject.CompanyRegNumber,
1038
+                    EmailAddress = sellItem.OwnerObject.EmailAddress,
1039
+                    CellNumber = sellItem.OwnerObject.CellNumber,
1040
+                    TelephoneNumber = sellItem.OwnerObject.LandlineNumber,
1041
+                    SpouseCellnumber = sellItem.OwnerObject.SpouseCellnumber,
1042
+                    SpouseEmail = sellItem.OwnerObject.SpouseEmail,
1043
+                    SpouseName = sellItem.OwnerObject.SpouseName,
1044
+                    SpouseSurname = sellItem.OwnerObject.SpouseSurname,
1045
+                    SpouseTelephone = sellItem.OwnerObject.SpouseSurname,
1046
+                    WeekId = week.Id
1047
+                };
1005 1048
 
1049
+                switch (sellItem.OwnerObject.MaritalStatus.ToUpper())
1050
+                {
1051
+                    case "":
1052
+                        indiv.HowMarried = MarriedType.NotApplicable;
1053
+                        break;
1054
+                    case "N/A":
1055
+                        indiv.HowMarried = MarriedType.NotApplicable;
1056
+                        break;
1057
+                    case "IN COMMUNITY OF PROPERTY":
1058
+                        indiv.HowMarried = MarriedType.ICOP;
1059
+                        break;
1060
+                    case "OUT OF COMMUNITY OF PROPERTY":
1061
+                        indiv.HowMarried = MarriedType.OCOP;
1062
+                        break;
1063
+                    case "OTHER":
1064
+                        indiv.HowMarried = MarriedType.Other;
1065
+                        break;
1066
+                    case "TRADITIONAL WEDDING":
1067
+                        indiv.HowMarried = MarriedType.Traditional;
1068
+                        break;
1069
+                    case "SINGLE":
1070
+                        indiv.HowMarried = MarriedType.Single;
1071
+                        break;
1072
+                    case "DIVORCED":
1073
+                        indiv.HowMarried = MarriedType.Divorced;
1074
+                        break;
1075
+                    case "WIDOW":
1076
+                        indiv.HowMarried = MarriedType.Widow;
1077
+                        break;
1078
+                    case "COMMITTED RELATIONSHIP":
1079
+                        indiv.HowMarried = MarriedType.CommittedRelationship;
1080
+                        break;
1081
+                    case "PARTNER":
1082
+                        indiv.HowMarried = MarriedType.Partner;
1083
+                        break;
1084
+                    default:
1085
+                        indiv.HowMarried = MarriedType.NotApplicable;
1086
+                        break;
1087
+                }
1088
+                _dbContext.NonRegIndividuals.Add(indiv);
1089
+                _dbContext.SaveChanges();
1090
+            }
1006 1091
             return week.Id;
1007 1092
         }
1008 1093
 

+ 77
- 28
UnivateProperties_API/Repository/Users/AgentRepository.cs ファイルの表示

@@ -24,7 +24,7 @@ namespace UnivateProperties_API.Repository.Users
24 24
 
25 25
         public List<Agent> GetAll()
26 26
         {
27
-            return _dbContext.Agents.Include("User").ToList();
27
+            return _dbContext.Agents.Include("User").Where(x => x.IsDeleted == false).ToList();
28 28
         }
29 29
 
30 30
         public Agent GetDetailed(Func<Agent, bool> first)
@@ -44,53 +44,102 @@ namespace UnivateProperties_API.Repository.Users
44 44
             {
45 45
                 item.AgencyId = 10;
46 46
             }*/
47
-            var agent = _dbContext.Agents.Where(x => x.Name == item.Name && x.Surname == item.Surname).FirstOrDefault();
48
-            var indiv = new Individual();
47
+            var agent = _dbContext.Agents.Where(x => x.UserId == item.User.Id).FirstOrDefault();
48
+            var individual = _dbContext.Individuals.Where(x => x.UserId == item.User.Id).FirstOrDefault();
49
+            var user = _dbContext.Users.Where(x => x.Id == item.User.Id).FirstOrDefault();
49 50
 
50
-            if (agent == null)
51
+            if (item.User.Role == "Agent" || item.User.Role == "Agency" || item.User.Role == "Managing Agent")
51 52
             {
52
-                indiv = _dbContext.Individuals.Where(x => x.UserId == item.UserId).FirstOrDefault();
53
-                if (indiv != null)
53
+                if (agent == null)
54
+                {                    
55
+                    if (individual != null)
56
+                    {
57
+                        individual.IsDeleted = true;
58
+                        _dbContext.Individuals.Update(individual);                        
59
+                    }
60
+                    item.Id = 0;
61
+                    _dbContext.Agents.Add(item);
62
+                    if (item.User.Role != user.Role)
63
+                    {
64
+                        user.Role = item.User.Role;
65
+                    }
66
+                    _dbContext.Users.Update(user);
67
+
68
+                }
69
+                else
54 70
                 {
55
-                    indiv.IsDeleted = true;
56
-                    _dbContext.Individuals.Update(indiv);
57
-                    _dbContext.SaveChanges();
71
+                    if (agent.Name != item.Name)
72
+                    {
73
+                        agent.Name = item.Name;
74
+                    }
75
+                    if (agent.Surname != item.Surname)
76
+                    {
77
+                        agent.Surname = item.Surname;
78
+                    }
79
+                    if (agent.Email != item.Email)
80
+                    {
81
+                        agent.Email = item.Email;
82
+                    }
83
+                    if (agent.Telephone != item.Telephone)
84
+                    {
85
+                        agent.Telephone = item.Telephone;
86
+                    }
87
+                    if (agent.CellNumber != item.CellNumber)
88
+                    {
89
+                        agent.CellNumber = item.CellNumber;
90
+                    }
91
+                    if (agent.AgencyId != item.AgencyId)
92
+                    {
93
+                        agent.AgencyId = item.AgencyId;
94
+                    }
95
+                    agent.IsDeleted = false;
96
+                    if (individual != null)
97
+                    {
98
+                        individual.IsDeleted = true;
99
+                        _dbContext.Individuals.Update(individual);                        
100
+                    }
101
+                    _dbContext.Agents.Update(agent);
102
+                    if (item.User.Role != user.Role)
103
+                    {
104
+                        user.Role = item.User.Role;
105
+                    }
106
+                    _dbContext.Users.Update(user);
58 107
                 }
59
-                item.Id = 0;
60
-                _dbContext.Agents.Add(item);
61
-                _dbContext.Users.Update(item.User);
62
-
63 108
             }
64 109
             else
65 110
             {
66
-                if (agent.Name != item.Name)
67
-                {
68
-                    agent.Name = item.Name;
69
-                }
70
-                if (agent.Surname != item.Surname)
111
+                agent.IsDeleted = true;
112
+                individual.IsDeleted = false;
113
+                user.Role = item.User.Role;
114
+
115
+                if (individual.Name != item.Name) 
71 116
                 {
72
-                    agent.Surname = item.Surname;
117
+                    individual.Name = item.Name;
73 118
                 }
74
-                if (agent.Email != item.Email)
119
+                if (individual.Surname != item.Surname)
75 120
                 {
76
-                    agent.Email = item.Email;
121
+                    individual.Surname = item.Surname;
77 122
                 }
78
-                if (agent.Telephone != item.Telephone)
123
+                if (individual.Email != item.Email)
79 124
                 {
80
-                    agent.Telephone = item.Telephone;
125
+                    individual.Email = item.Email;
81 126
                 }
82
-                if (agent.CellNumber != item.CellNumber)
127
+                if (individual.Telephone != item.Telephone)
83 128
                 {
84
-                    agent.CellNumber = item.CellNumber;
129
+                    individual.Telephone = item.Telephone;
85 130
                 }
86
-                if (agent.AgencyId != item.AgencyId)
131
+                if (individual.CellNumber != item.CellNumber)
87 132
                 {
88
-                    agent.AgencyId = item.AgencyId;
133
+                    individual.CellNumber = item.CellNumber;
89 134
                 }
135
+
90 136
                 _dbContext.Agents.Update(agent);
91
-                _dbContext.Users.Update(item.User);
137
+                _dbContext.Users.Update(user);
138
+                _dbContext.Individuals.Update(individual);
139
+                
92 140
             }
93 141
             
142
+            
94 143
             Save();
95 144
         }
96 145
 

+ 2
- 2
UnivateProperties_API/Repository/Users/IndividualRepository.cs ファイルの表示

@@ -25,7 +25,7 @@ namespace UnivateProperties_API.Repository.Users
25 25
 
26 26
         public List<Individual> GetAll()
27 27
         {
28
-            foreach (var item in _dbContext.Individuals.Include("User").Include("Address").Include("BankAccount").ToList())
28
+            foreach (var item in _dbContext.Individuals.Include("User").Include("Address").Include("BankAccount").Where(x => x.IsDeleted != true).ToList())
29 29
             {
30 30
                 var list = MyCommon.GetVisibleColumns(item);
31 31
             }
@@ -58,7 +58,7 @@ namespace UnivateProperties_API.Repository.Users
58 58
 
59 59
         public DetailedOwner GetIndividual(int id)
60 60
         {
61
-            var item = _dbContext.Individuals.Include("Address").Include("BankAccount").FirstOrDefault(x => x.UserId == id);
61
+            var item = _dbContext.Individuals.Include("Address").Include("BankAccount").Where(y => y.IsDeleted != true).FirstOrDefault(x => x.UserId == id);
62 62
             if(item != null)
63 63
             {
64 64
                 if (item.BankAccount != null && item.BankAccount.BankId > 0)

+ 34
- 17
UnivateProperties_API/Repository/Users/RegisterRepository.cs ファイルの表示

@@ -71,25 +71,41 @@ namespace UnivateProperties_API.Repository.Users
71 71
         public Agency CreateAgency(AgencyDto agency)
72 72
         {
73 73
             // validation
74
-            if (string.IsNullOrWhiteSpace(agency.EaabeffcNumber))
75
-                throw new AppException("eaabeffcNumber is required");
74
+            /* if (string.IsNullOrWhiteSpace(agency.EaabeffcNumber))
75
+                 throw new AppException("eaabeffcNumber is required");
76 76
 
77
-            if (_dbContext.Agencies.Any(x => x.EAABEFFCNumber == agency.EaabeffcNumber))
78
-                throw new AppException("eaabeffcNumber \"" + agency.EaabeffcNumber + "\" already exists");
79
-
80
-            Agency a = new Agency()
77
+             if (_dbContext.Agencies.Any(x => x.EAABEFFCNumber == agency.EaabeffcNumber))
78
+                 throw new AppException("eaabeffcNumber \"" + agency.EaabeffcNumber + "\" already exists");*/
79
+            if (!string.IsNullOrEmpty(agency.EaabeffcNumber))
81 80
             {
82
-                AgencyName = agency.Name,
83
-                EAABEFFCNumber = agency.EaabeffcNumber,
84
-                CompanyRegNumber = agency.RegNo
85
-            };
86
-            //a.Id = NewAgencyId();
87
-            _dbContext.Agencies.Add(a);
88
-            CreatePerson(agency.User, PersonType.Agent, false, a);
81
+                var savedAgency = _dbContext.Agencies.Where(x => x.EAABEFFCNumber == agency.EaabeffcNumber).FirstOrDefault();
82
+                if (savedAgency == null)
83
+                {
84
+                    Agency a = new Agency()
85
+                    {
86
+                        AgencyName = agency.Name,
87
+                        EAABEFFCNumber = agency.EaabeffcNumber,
88
+                        CompanyRegNumber = agency.RegNo
89
+                    };
90
+                    _dbContext.Agencies.Add(a);
91
+                    CreatePerson(agency.User, PersonType.Agent, false, a);
89 92
 
90
-            _dbContext.SaveChanges();
91 93
 
92
-            return a;
94
+                    return a;
95
+                }
96
+                else
97
+                {
98
+                    CreatePerson(agency.User, PersonType.Agent, false, savedAgency);
99
+                    _dbContext.SaveChanges();
100
+                    return savedAgency;
101
+                }
102
+            }
103
+            else 
104
+            {
105
+                CreatePerson(agency.User, PersonType.Agent, false, null);
106
+                _dbContext.SaveChanges();
107
+                return null;
108
+            }
93 109
         }
94 110
 
95 111
         public void CreatePerson(UserDto individual, PersonType personType, bool save, Agency agency)
@@ -216,7 +232,7 @@ namespace UnivateProperties_API.Repository.Users
216 232
         [Authorize(Roles = Role.SuperAdmin)]
217 233
         public IEnumerable<Individual> GetAllIndividuals()
218 234
         {
219
-            return _dbContext.Individuals;
235
+            return _dbContext.Individuals.Where(x => x.IsDeleted != true);
220 236
         }
221 237
 
222 238
         public User GetById(int id)
@@ -413,7 +429,8 @@ namespace UnivateProperties_API.Repository.Users
413 429
                 //change below to test locally or QA
414 430
                 //string url = "http://localhost:8080/#/forgotPasswordReset/" + linkStr;
415 431
                 //string url = "http://training.provision-sa.com:122/#/forgotPasswordReset/" + linkStr;
416
-                string url = "https://www.pvsl.co.za:97/#/forgotPasswordReset/" + linkStr;
432
+                //string url = "https://www.pvsl.co.za:97/#/forgotPasswordReset/" + linkStr;
433
+                string url = "https://www.univateproperties.co.za/#/forgotPasswordReset/" + linkStr;
417 434
 
418 435
                 mailer.ForgotPassword(indiv, url);
419 436
             }

読み込み中…
キャンセル
保存