浏览代码

UpdateVisitorBeenHerePreAction.cs changes

allauddin 1年前
父节点
当前提交
9a3081a40c
共有 1 个文件被更改,包括 33 次插入10 次删除
  1. 33
    10
      CRM.Visitors/ActionProviders/UpdateVisitorBeenHerePreAction.cs

+ 33
- 10
CRM.Visitors/ActionProviders/UpdateVisitorBeenHerePreAction.cs 查看文件

1
 using Bizgaze.CRM;
1
 using Bizgaze.CRM;
2
 using Bizgaze.CRM.Visitors.Infos;
2
 using Bizgaze.CRM.Visitors.Infos;
3
 using Bizgaze.CRM.Visitors.Managers;
3
 using Bizgaze.CRM.Visitors.Managers;
4
+using MongoDB.Bson;
4
 using System;
5
 using System;
5
 using System.Collections.Generic;
6
 using System.Collections.Generic;
6
 using System.Dynamic;
7
 using System.Dynamic;
17
 using Unibase.Platform.Forms.Providers;
18
 using Unibase.Platform.Forms.Providers;
18
 using Unibase.Platform.Keys;
19
 using Unibase.Platform.Keys;
19
 using Unibase.Platform.Tenants.Localization;
20
 using Unibase.Platform.Tenants.Localization;
21
+using System.Text.Json;
20
 
22
 
21
 namespace Bizgaze.CRM.Visitors.ActionProviders
23
 namespace Bizgaze.CRM.Visitors.ActionProviders
22
 {
24
 {
68
             var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
70
             var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
69
             var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
71
             var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
70
             var dictObj = obj as IDictionary<string, dynamic>;
72
             var dictObj = obj as IDictionary<string, dynamic>;
73
+            var visitorItems = dictObj.ContainsKey("VisitorItems") ? dictObj["VisitorItems"] : null;
71
             var MobileNumber = dictObj["mobilenumber"].ToString();
74
             var MobileNumber = dictObj["mobilenumber"].ToString();
72
             var employeeId = Convert.ChangeType(dictObj["employeeid"].ToString(), typeof(long));
75
             var employeeId = Convert.ChangeType(dictObj["employeeid"].ToString(), typeof(long));
73
             var cityId = Convert.ChangeType(dictObj["cityid"].ToString(), typeof(long));
76
             var cityId = Convert.ChangeType(dictObj["cityid"].ToString(), typeof(long));
91
                     stageStatusName = "CheckIn";
94
                     stageStatusName = "CheckIn";
92
                 }
95
                 }
93
                 var code = visitorsinfo.Result.Code;
96
                 var code = visitorsinfo.Result.Code;
94
-
95
                 var agreement = visitorsinfo.Result.Agreement;
97
                 var agreement = visitorsinfo.Result.Agreement;
96
                 visitorsinfo.Result.Agreement = agreement;
98
                 visitorsinfo.Result.Agreement = agreement;
97
                 dictObj["agreement"] = true;
99
                 dictObj["agreement"] = true;
114
                     IsExcludeFromAudit = false,
116
                     IsExcludeFromAudit = false,
115
                     Id = 0,
117
                     Id = 0,
116
                 };
118
                 };
117
-
118
                 dynamic visitor = new Dictionary<string, object>();
119
                 dynamic visitor = new Dictionary<string, object>();
119
                 visitor.Add("createdby", srequest.Identity.UserId);
120
                 visitor.Add("createdby", srequest.Identity.UserId);
120
                 visitor.Add("createddate", DateTime.Now);
121
                 visitor.Add("createddate", DateTime.Now);
125
                 visitor.Add("contactid", contactid);
126
                 visitor.Add("contactid", contactid);
126
                 visitor.Add("code", visitorsinfo.Result.Code);
127
                 visitor.Add("code", visitorsinfo.Result.Code);
127
                 visitor.Add("agreement", true);
128
                 visitor.Add("agreement", true);
128
-                visitor.Add("employeeid", employeeId);
129
                 visitor.Add("seriesid", visitorsinfo.Result.SeriesId);
129
                 visitor.Add("seriesid", visitorsinfo.Result.SeriesId);
130
                 visitor.Add("stageid", visitorsinfo.Result.StageId);
130
                 visitor.Add("stageid", visitorsinfo.Result.StageId);
131
                 visitor.Add("tenantid", visitorsinfo.Result.TenantId);
131
                 visitor.Add("tenantid", visitorsinfo.Result.TenantId);
132
                 visitor.Add("installedappid", visitorsinfo.Result.Installedappid);
132
                 visitor.Add("installedappid", visitorsinfo.Result.Installedappid);
133
                 visitor.Add("fullname", visitorsinfo.Result.FullName);
133
                 visitor.Add("fullname", visitorsinfo.Result.FullName);
134
                 visitor.Add("futureinvitation", visitorsinfo.Result.FutureInvitation);
134
                 visitor.Add("futureinvitation", visitorsinfo.Result.FutureInvitation);
135
+                visitor.Add("employeeid", employeeId);
135
                 visitor.Add("cityid", cityId);
136
                 visitor.Add("cityid", cityId);
136
                 visitor.Add("purposeofvisit", purposeofvisit);
137
                 visitor.Add("purposeofvisit", purposeofvisit);
137
                 visitor.Add("title", visitorsinfo.Result.Title);
138
                 visitor.Add("title", visitorsinfo.Result.Title);
138
                 visitor.Add("visitortype", visitorsinfo.Result.VisitorType);
139
                 visitor.Add("visitortype", visitorsinfo.Result.VisitorType);
139
                 var response = await _repository.SaveAsync(request, vistoroptions, visitor);
140
                 var response = await _repository.SaveAsync(request, vistoroptions, visitor);
140
-
141
                 if (response.Status == ResponseStatus.Error)
141
                 if (response.Status == ResponseStatus.Error)
142
                 {
142
                 {
143
                     return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
143
                     return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
144
                 }
144
                 }
145
-
146
                 var _visitorId = Convert.ToInt64(response.Result["_Id"].ToString());
145
                 var _visitorId = Convert.ToInt64(response.Result["_Id"].ToString());
147
                 var vistoroptions1 = new EntityOptions()
146
                 var vistoroptions1 = new EntityOptions()
148
                 {
147
                 {
169
                 var response1 = await _repository.SaveAsync(request, vistoroptions1, visitor1);
168
                 var response1 = await _repository.SaveAsync(request, vistoroptions1, visitor1);
170
                 if (response1.Status == ResponseStatus.Error)
169
                 if (response1.Status == ResponseStatus.Error)
171
                 {
170
                 {
172
-
173
                     return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
171
                     return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
174
                 }
172
                 }
175
-
173
+                if (dictObj.ContainsKey("VisitorItems"))
174
+                {
175
+                    var Items = Convert.ChangeType(dictObj["VisitorItems"].ToString(), typeof(object)).ToString();
176
+                    var deserializeObj = System.Text.Json.JsonSerializer.Deserialize<List<Dictionary<string, object>>>(Items);
177
+                    var visitoritem = deserializeObj[0]["visitoritemname"].ToString();
178
+                    var serial = deserializeObj[0]["serialnumber"].ToString();
179
+                    var quantity = Convert.ToInt64(deserializeObj[0]["quantity"].ToString());
180
+                    var brand = deserializeObj[0]["brand"].ToString();
181
+                    var vistoroptions2 = new EntityOptions()
182
+                    {
183
+                        IsIdentity = true,
184
+                        IsNewEntity = true,
185
+                        TableName = "bizgazecrm_visitoritems",
186
+                        PkColumn = "visitoritemid",
187
+                        IsExcludeFromAudit = false,
188
+                        Id = 0,
189
+                    };
190
+                    dynamic visitor2 = new Dictionary<string, object>();
191
+                    visitor2.Add("visitorid", _visitorId);
192
+                    visitor2.Add("visitoritemname", visitoritem);
193
+                    visitor2.Add("quantity", quantity);
194
+                    visitor2.Add("brand", brand);
195
+                    visitor2.Add("serialnumber", serial);
196
+                    var response2 = await _repository.SaveAsync(request, vistoroptions2, visitor2);
197
+                    if (response2.Status == ResponseStatus.Error)
198
+                    {
199
+                        return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
200
+                    }
201
+                }
176
                 var lastdate = visitorsinfo.Result.LastUpdatedDate;
202
                 var lastdate = visitorsinfo.Result.LastUpdatedDate;
177
                 visitorsinfo.Result.LastUpdatedDate = DateTime.Now;
203
                 visitorsinfo.Result.LastUpdatedDate = DateTime.Now;
178
                 var installedAppId = visitorsinfo.Result.Installedappid;
204
                 var installedAppId = visitorsinfo.Result.Installedappid;
186
             {
212
             {
187
                 return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor  Not Found");
213
                 return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor  Not Found");
188
             }
214
             }
189
-            returnresponse = new FormActionResponse();
190
-            returnresponse.Obj = dictObj as ExpandoObject;
191
             returnresponse.PkValue = defaultPKValue;
215
             returnresponse.PkValue = defaultPKValue;
192
             return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
216
             return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
193
         }
217
         }
200
             };
224
             };
201
             }
225
             }
202
         }
226
         }
203
-
204
     }
227
     }
205
 }
228
 }
206
 
229
 

正在加载...
取消
保存