Selaa lähdekoodia

VisitorStageChangeAndUpDateContacts.cs Changes

Shanmukh 1 vuosi sitten
vanhempi
commit
a0d4241c38
1 muutettua tiedostoa jossa 237 lisäystä ja 218 poistoa
  1. 237
    218
      CRM.Visitors/ActionProviders/VisitorStageChangeAndUpDateContacts.cs

+ 237
- 218
CRM.Visitors/ActionProviders/VisitorStageChangeAndUpDateContacts.cs Näytä tiedosto

16
 using Unibase.Platform.Forms.Providers;
16
 using Unibase.Platform.Forms.Providers;
17
 using Unibase.Platform.Keys;
17
 using Unibase.Platform.Keys;
18
 using Unibase.Platform.Series.Managers;
18
 using Unibase.Platform.Series.Managers;
19
+using System.Text.Json;
20
+using iText.Layout.Element;
19
 
21
 
20
 namespace Bizgaze.CRM.Visitors.ActionProviders
22
 namespace Bizgaze.CRM.Visitors.ActionProviders
21
 {
23
 {
73
                 var connection = GetConnection(request);
75
                 var connection = GetConnection(request);
74
                 ExpandoObject obj1 = dictObj["RequestObj"];
76
                 ExpandoObject obj1 = dictObj["RequestObj"];
75
                 var req = obj1 as IDictionary<string, object>;
77
                 var req = obj1 as IDictionary<string, object>;
78
+                // var requestObj = dictObj["RequestObj"] as IDictionary<string, object>;
79
+                // breakupTenureItems = Convert.ChangeType(requestObj["breakuptenure"].ToString(), typeof(object)).ToString();
80
+
76
                 var mobileNumber = "";
81
                 var mobileNumber = "";
77
                 var emailId = "";
82
                 var emailId = "";
78
                 var visitorName = "";
83
                 var visitorName = "";
79
                 var photourl = "";
84
                 var photourl = "";
85
+
80
                 var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors");
86
                 var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors");
81
                 if (visitorInfo != null)
87
                 if (visitorInfo != null)
82
                 {
88
                 {
89
+
83
                     long installedAppId = 0;
90
                     long installedAppId = 0;
84
                     var stageStatusName = "";
91
                     var stageStatusName = "";
85
                     var code = "";
92
                     var code = "";
91
                     var dt1 = await GetDataTableAsync(srequest, sel1, param);
98
                     var dt1 = await GetDataTableAsync(srequest, sel1, param);
92
                     var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]);
99
                     var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]);
93
                     var _SeriesId = Convert.ToInt64(visitorInfo.Parameters["seriesid"]);
100
                     var _SeriesId = Convert.ToInt64(visitorInfo.Parameters["seriesid"]);
94
-                   // var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
95
-                    var typeofvisitor = Convert.ToInt64(visitorInfo.Parameters["typeofvisitor"]);
96
-                    installedAppId = Convert.ToInt64(visitorInfo.Parameters["installedappid"]);
97
-                    var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds);
98
-                    var _seriesManager = Unibase.Dependency.DependencyConfig.Resolve<Unibase.Platform.Series.Managers.ISeriesManager>();
99
-                    if (visitordata.Result != null)
101
+                    var CapturePhotoObj = Convert.ChangeType(req["CapturePhoto1"].ToString(), typeof(object)).ToString();
102
+                    var deserializeJEntriesObj = JsonSerializer.Deserialize<List<ExpandoObject>>(CapturePhotoObj);
103
+                    for (var k = 0; k < deserializeJEntriesObj.Count; k++)
100
                     {
104
                     {
101
-                        if (typeofvisitor == 1)
105
+                        var data1 = deserializeJEntriesObj[k];
106
+                        var CapturePhotoData = data1 as IDictionary<string, dynamic>;
107
+                        var image = Convert.ChangeType(CapturePhotoData["image"].ToString(), typeof(string)).ToString();
108
+                        var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
109
+                        var typeofvisitor = Convert.ToInt64(visitorInfo.Parameters["typeofvisitor"]);
110
+                        installedAppId = Convert.ToInt64(visitorInfo.Parameters["installedappid"]);
111
+                        var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds);
112
+                        var _seriesManager = Unibase.Dependency.DependencyConfig.Resolve<Unibase.Platform.Series.Managers.ISeriesManager>();
113
+                        if (visitordata.Result != null)
102
                         {
114
                         {
103
-                            stageStatusName = "CheckIn";
115
+                            if (typeofvisitor == 1)
116
+                            {
117
+                                stageStatusName = "CheckIn";
104
 
118
 
105
-                            //string[] Ocode = { };
106
-                            //Ocode.Append(code);
107
-                            //string[] resultarray = Array.FindAll(Ocode, element => element == "-");
108
-                            //if (resultarray.Length > 1)
109
-                            //{
110
-                            //    if (_SeriesId != 0)
111
-                            //    {
112
-                            //        var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now);
113
-                            //        if (SeriesCodeInfo.Status == ResponseStatus.Error)
114
-                            //        {
115
-                            //            if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
116
-                            //            return ActionResponse<FormActionResponse>.CreateErrorResponse("1", SeriesCodeInfo.Message);
117
-                            //        }
118
-                            //        else
119
-                            //        {
120
-                            //            _code = SeriesCodeInfo.Result.SeriesCode;
121
-                            //        }
122
-                            //    }
119
+                                //string[] Ocode = { };
120
+                                //Ocode.Append(code);
121
+                                //string[] resultarray = Array.FindAll(Ocode, element => element == "-");
122
+                                //if (resultarray.Length > 1)
123
+                                //{
124
+                                //    if (_SeriesId != 0)
125
+                                //    {
126
+                                //        var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now);
127
+                                //        if (SeriesCodeInfo.Status == ResponseStatus.Error)
128
+                                //        {
129
+                                //            if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
130
+                                //            return ActionResponse<FormActionResponse>.CreateErrorResponse("1", SeriesCodeInfo.Message);
131
+                                //        }
132
+                                //        else
133
+                                //        {
134
+                                //            _code = SeriesCodeInfo.Result.SeriesCode;
135
+                                //        }
136
+                                //    }
123
 
137
 
124
-                            //}
125
-                            //else
126
-                            //{
127
-                            //    _code = code;
128
-                            //}
129
-                            mobileNumber = visitordata.Result.MobileNumber;
130
-                            emailId = visitordata.Result.EmailId;
131
-                            visitorName = visitordata.Result.FullName;
132
-                            photourl = visitordata.Result.PhotoUrl;
133
-                            var stages = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
134
-                            var NewStageIds = stages.Result.StageId;
135
-                            var UpdateStages = new Update("bizgazecrm_visitors").Value("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
136
-                            await _repository.ExecuteAsync(request, UpdateStages);
137
-                            var visitorTypeid = visitordata.Result.VisitorType;
138
+                                //}
139
+                                //else
140
+                                //{
141
+                                //    _code = code;
142
+                                //}
143
+                                mobileNumber = visitordata.Result.MobileNumber;
144
+                                emailId = visitordata.Result.EmailId;
145
+                                visitorName = visitordata.Result.FullName;
146
+                                photourl = visitordata.Result.PhotoUrl;
147
+                                var stages = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
148
+                                var NewStageIds = stages.Result.StageId;
149
+                                var UpdateStages = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
150
+                                await _repository.ExecuteAsync(request, UpdateStages);
151
+                                var visitorTypeid = visitordata.Result.VisitorType;
152
+
153
+                                var typeofvisitorid = visitordata.Result.TypeofVisitor;
154
+                                var options1 = new EntityOptions()
155
+                                {
156
+                                    IsIdentity = true,
157
+                                    IsNewEntity = true,
158
+                                    TableName = "unibasecmn_users",
159
+                                    PkColumn = "userid",
160
+                                    IsExcludeFromAudit = false,
161
+                                    Id = 0,
162
+                                };
163
+                                dynamic visitorparameters1 = new Dictionary<string, object>();
164
+                                visitorparameters1.Add("username", visitorName);
165
+                                visitorparameters1.Add("createdby", srequest.Identity.UserId);
166
+                                visitorparameters1.Add("tenantid", tenantid);
167
+                                visitorparameters1.Add("createddate", DateTime.Now);
168
+                                visitorparameters1.Add("versionguid", Guid.NewGuid());
169
+                                visitorparameters1.Add("statusid", (int)RowStatus.Active);
170
+                                visitorparameters1.Add("installedappid", installedAppId);
171
+                                visitorparameters1.Add("phonenumber", mobileNumber);
172
+                                visitorparameters1.Add("emailaddress", emailId);
173
+                                var responses = await _repository.SaveAsync(request, options1, visitorparameters1);
174
+                                if (responses.Status == ResponseStatus.Error)
175
+                                {
176
+                                    if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
177
+                                    return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
178
+                                }
179
+                                else
180
+                                {
181
+                                    using (var requestTrans1 = await request.BeginTransactionAsync())
182
+                                    {
183
+                                        Int64 userid = 0;
184
+                                        {
185
+                                            var data = responses.Result as Dictionary<string, object>;
186
+                                            userid = Convert.ToInt64(data["_Id"]);
187
+                                        }
188
+                                        var options = new EntityOptions()
189
+                                        {
190
+                                            IsIdentity = false,
191
+                                            IsNewEntity = true,
192
+                                            TableName = "bizgazecrm_contacts",
193
+                                            PkColumn = "contactid",
194
+                                            IsExcludeFromAudit = false,
195
+                                            Id = 0,
196
+                                        };
197
+                                        dynamic contactparameters = new Dictionary<string, object>();
198
+                                        contactparameters.Add("contactid", userid);
199
+                                        contactparameters.Add("contactname", visitorName);
200
+                                        contactparameters.Add("createdby", srequest.Identity.UserId);
201
+                                        contactparameters.Add("createddate", DateTime.Now);
202
+                                        contactparameters.Add("versionguid", Guid.NewGuid());
203
+                                        contactparameters.Add("statusid", (int)RowStatus.Active);
204
+                                        contactparameters.Add("installedappid", installedAppId);
205
+                                        var response = await _repository.SaveAsync(request, options, contactparameters);
206
+                                        if (response.Status == ResponseStatus.Error)
207
+                                        {
208
+                                            if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
209
+                                            return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
210
+                                        }
211
+                                        var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", code).Where(Exp.Eq("visitorid", visitorIds));
212
+                                        await _repository.ExecuteAsync(request, update);
213
+                                    }
214
+                                }
138
 
215
 
139
-                            var typeofvisitorid = visitordata.Result.TypeofVisitor;
140
-                            var options1 = new EntityOptions()
141
-                            {
142
-                                IsIdentity = true,
143
-                                IsNewEntity = true,
144
-                                TableName = "unibasecmn_users",
145
-                                PkColumn = "userid",
146
-                                IsExcludeFromAudit = false,
147
-                                Id = 0,
148
-                            };
149
-                            dynamic visitorparameters1 = new Dictionary<string, object>();
150
-                            visitorparameters1.Add("username", visitorName);
151
-                            visitorparameters1.Add("createdby", srequest.Identity.UserId);
152
-                            visitorparameters1.Add("tenantid", tenantid);
153
-                            visitorparameters1.Add("createddate", DateTime.Now);
154
-                            visitorparameters1.Add("versionguid", Guid.NewGuid());
155
-                            visitorparameters1.Add("statusid", (int)RowStatus.Active);
156
-                            visitorparameters1.Add("installedappid", installedAppId);
157
-                            visitorparameters1.Add("phonenumber", mobileNumber);
158
-                            visitorparameters1.Add("emailaddress", emailId);
159
-                            var responses = await _repository.SaveAsync(request, options1, visitorparameters1);
160
-                            if (responses.Status == ResponseStatus.Error)
161
-                            {
162
-                                if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
163
-                                return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
164
                             }
216
                             }
165
                             else
217
                             else
166
                             {
218
                             {
167
-                                using (var requestTrans1 = await request.BeginTransactionAsync())
219
+                                var UpdateStages1 = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
220
+                                await _repository.ExecuteAsync(request, UpdateStages1);
221
+
222
+
223
+
224
+                                var options2 = new EntityOptions()
168
                                 {
225
                                 {
169
-                                    Int64 userid = 0;
170
-                                    {
171
-                                        var data = responses.Result as Dictionary<string, object>;
172
-                                        userid = Convert.ToInt64(data["_Id"]);
173
-                                    }
174
-                                    var options = new EntityOptions()
175
-                                    {
176
-                                        IsIdentity = false,
177
-                                        IsNewEntity = true,
178
-                                        TableName = "bizgazecrm_contacts",
179
-                                        PkColumn = "contactid",
180
-                                        IsExcludeFromAudit = false,
181
-                                        Id = 0,
182
-                                    };
183
-                                    dynamic contactparameters = new Dictionary<string, object>();
184
-                                    contactparameters.Add("contactid", userid);
185
-                                    contactparameters.Add("contactname", visitorName);
186
-                                    contactparameters.Add("createdby", srequest.Identity.UserId);
187
-                                    contactparameters.Add("createddate", DateTime.Now);
188
-                                    contactparameters.Add("versionguid", Guid.NewGuid());
189
-                                    contactparameters.Add("statusid", (int)RowStatus.Active);
190
-                                    contactparameters.Add("installedappid", installedAppId);
191
-                                    var response = await _repository.SaveAsync(request, options, contactparameters);
192
-                                    if (response.Status == ResponseStatus.Error)
226
+                                    IsIdentity = true,
227
+                                    IsNewEntity = true,
228
+                                    TableName = "unibasecmn_users",
229
+                                    PkColumn = "userid",
230
+                                    IsExcludeFromAudit = false,
231
+                                    Id = 0,
232
+                                };
233
+                                dynamic visitorparameters2 = new Dictionary<string, object>();
234
+                                visitorparameters2.Add("username", visitordata.Result.FullName);
235
+                                visitorparameters2.Add("createdby", srequest.Identity.UserId);
236
+                                visitorparameters2.Add("tenantid", tenantid);
237
+                                visitorparameters2.Add("createddate", DateTime.Now);
238
+                                visitorparameters2.Add("versionguid", Guid.NewGuid());
239
+                                visitorparameters2.Add("statusid", (int)RowStatus.Active);
240
+                                visitorparameters2.Add("installedappid", installedAppId);
241
+                                visitorparameters2.Add("phonenumber", visitordata.Result.MobileNumber);
242
+                                visitorparameters2.Add("emailaddress", visitordata.Result.EmailId);
243
+                                var responses = await _repository.SaveAsync(request, options2, visitorparameters2);
244
+
245
+                                if (responses.Status == ResponseStatus.Error)
246
+                                {
247
+                                    if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
248
+                                    return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
249
+                                }
250
+                                else
251
+                                {
252
+                                    using (var requestTrans1 = await request.BeginTransactionAsync())
193
                                     {
253
                                     {
194
-                                        if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
195
-                                        return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
254
+                                        Int64 userid = 0;
255
+                                        {
256
+                                            var data = responses.Result as Dictionary<string, object>;
257
+                                            userid = Convert.ToInt64(data["_Id"]);
258
+                                        }
259
+                                        var options1 = new EntityOptions()
260
+                                        {
261
+                                            IsIdentity = false,
262
+                                            IsNewEntity = true,
263
+                                            TableName = "bizgazecrm_contacts",
264
+                                            PkColumn = "contactid",
265
+                                            IsExcludeFromAudit = false,
266
+                                            Id = 0,
267
+                                        };
268
+                                        dynamic contactparameters2 = new Dictionary<string, object>();
269
+                                        contactparameters2.Add("contactid", userid);
270
+                                        contactparameters2.Add("contactname", visitorName);
271
+                                        contactparameters2.Add("createdby", srequest.Identity.UserId);
272
+                                        contactparameters2.Add("createddate", DateTime.Now);
273
+                                        contactparameters2.Add("versionguid", Guid.NewGuid());
274
+                                        contactparameters2.Add("statusid", (int)RowStatus.Active);
275
+                                        contactparameters2.Add("installedappid", installedAppId);
276
+                                        var response1 = await _repository.SaveAsync(request, options1, contactparameters2);
277
+                                        if (response1.Status == ResponseStatus.Error)
278
+                                        {
279
+                                            if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
280
+                                            return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
281
+                                        }
282
+                                        var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", code).Where(Exp.Eq("visitorid", visitorIds));
283
+                                        await _repository.ExecuteAsync(request, update);
196
                                     }
284
                                     }
197
-                                    var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", code).Where(Exp.Eq("visitorid", visitorIds));
198
-                                    await _repository.ExecuteAsync(request, update);
199
                                 }
285
                                 }
200
-                            }
201
 
286
 
287
+                                var selectvis = new Unibase.Data.Sql.Select("bizgazecrm_visitors").Columns("versionguid").Where("visitorid", visitorIds);
288
+                                var visparam = new List<Unibase.Data.Parameter>();
289
+                                param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds));
290
+                                var datatable = await GetDataTableAsync(srequest, sel1, param);
291
+                                string versionguid = string.Empty;
292
+                                if (datatable != null)
293
+                                {
294
+                                    versionguid = datatable.Rows[0]["versionguid"].ToString();
295
+                                }
296
+
297
+                                installedAppId = visitordata.Result.Installedappid;
298
+                                stageStatusName = "Pre-Invite";
299
+                                var options = new EntityOptions()
300
+                                {
301
+                                    IsIdentity = true,
302
+                                    IsNewEntity = false,
303
+                                    TableName = "bizgazecrm_visitors",
304
+                                    PkColumn = "visitorid",
305
+                                    IsExcludeFromAudit = false,
306
+                                    Id = defaultPKValue,
307
+                                };
308
+                                var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
309
+                                var NewStageId = stage.Result.StageId;
310
+                                dynamic contactparameters = new Dictionary<string, object>();
311
+                                contactparameters.Add("stageid", NewStageId);
312
+                                contactparameters.Add("versionguid", versionguid);
313
+                                contactparameters.Add("lastupdateddate", DateTime.Now);
314
+                                defaultPKValue = visitorIds;
315
+                                var response = await _repository.SaveAsync(request, options, contactparameters);
316
+
317
+                            }
202
                         }
318
                         }
203
-                        else
319
+                        var visitorInfos = await visitorManager.GetpreVisitorsAsync(srequest, code);
320
+                        var visitorId = Convert.ToInt64(visitorInfos.Result.VisitorId);
321
+                        var select = new Unibase.Data.Sql.Select("bizgazecrm_visitorcheckout").AllColumns().Where("visitorId", visitorId);
322
+                        var parameters = new List<Unibase.Data.Parameter>();
323
+                        parameters.Add(new Unibase.Data.Parameter("@visitorId", visitorId));
324
+                        var dt = await GetDataTableAsync(srequest, select, parameters);
325
+                        if (dt.Rows.Count == 0)
204
                         {
326
                         {
205
-                            var options2 = new EntityOptions()
327
+                            var vistoroptions = new EntityOptions()
206
                             {
328
                             {
207
                                 IsIdentity = true,
329
                                 IsIdentity = true,
208
                                 IsNewEntity = true,
330
                                 IsNewEntity = true,
209
-                                TableName = "unibasecmn_users",
210
-                                PkColumn = "userid",
331
+                                TableName = "bizgazecrm_visitorcheckout",
332
+                                PkColumn = "visitorcheckoutid",
211
                                 IsExcludeFromAudit = false,
333
                                 IsExcludeFromAudit = false,
212
                                 Id = 0,
334
                                 Id = 0,
213
                             };
335
                             };
214
-                            dynamic visitorparameters2 = new Dictionary<string, object>();
215
-                            visitorparameters2.Add("username", visitordata.Result.FullName);
216
-
217
-                            visitorparameters2.Add("createdby", srequest.Identity.UserId);
218
-                            visitorparameters2.Add("tenantid", tenantid);
219
-                            visitorparameters2.Add("createddate", DateTime.Now);
220
-                            visitorparameters2.Add("versionguid", Guid.NewGuid());
221
-                            visitorparameters2.Add("statusid", (int)RowStatus.Active);
222
-                            visitorparameters2.Add("installedappid", installedAppId);
223
-                            visitorparameters2.Add("phonenumber", visitordata.Result.MobileNumber);
224
-                            visitorparameters2.Add("emailaddress", visitordata.Result.EmailId);
225
-                            var responses = await _repository.SaveAsync(request, options2, visitorparameters2);
226
-
227
-                            if (responses.Status == ResponseStatus.Error)
336
+                            dynamic visitor = new Dictionary<string, object>();
337
+                            visitor.Add("createdby", srequest.Identity.UserId);
338
+                            visitor.Add("checkindate", visitorInfos.Result.CheckInDate);
339
+                            visitor.Add("tenantid", tenantid);
340
+                            visitor.Add("comments", "");
341
+                            visitor.Add("checkoutdate", DateTime.MinValue);
342
+                            visitor.Add("rating", 0);
343
+                            visitor.Add("versionguid", Guid.NewGuid());
344
+                            visitor.Add("uniqueid", code);
345
+                            visitor.Add("statusid", (int)RowStatus.Active);
346
+                            visitor.Add("installedappid", visitorInfos.Result.Installedappid);
347
+                            visitor.Add("lastupdateddate", DateTime.Now);
348
+                            visitor.Add("visitorid", visitorId);
349
+                            var response1 = await _repository.SaveAsync(request, vistoroptions, visitor);
350
+                            if (response1.Status == ResponseStatus.Error)
228
                             {
351
                             {
229
                                 if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
352
                                 if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
230
-                                return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
231
-                            }
232
-                            else
233
-                            {
234
-                                using (var requestTrans1 = await request.BeginTransactionAsync())
235
-                                {
236
-                                    Int64 userid = 0;
237
-                                    {
238
-                                        var data = responses.Result as Dictionary<string, object>;
239
-                                        userid = Convert.ToInt64(data["_Id"]);
240
-                                    }
241
-                                    var options1 = new EntityOptions()
242
-                                    {
243
-                                        IsIdentity = false,
244
-                                        IsNewEntity = true,
245
-                                        TableName = "bizgazecrm_contacts",
246
-                                        PkColumn = "contactid",
247
-                                        IsExcludeFromAudit = false,
248
-                                        Id = 0,
249
-                                    };
250
-                                    dynamic contactparameters2 = new Dictionary<string, object>();
251
-                                    contactparameters2.Add("contactid", userid);
252
-                                    contactparameters2.Add("contactname", visitorName);
253
-                                    contactparameters2.Add("createdby", srequest.Identity.UserId);
254
-                                    contactparameters2.Add("createddate", DateTime.Now);
255
-                                    contactparameters2.Add("versionguid", Guid.NewGuid());
256
-                                    contactparameters2.Add("statusid", (int)RowStatus.Active);
257
-                                    contactparameters2.Add("installedappid", installedAppId);
258
-                                    var response1 = await _repository.SaveAsync(request, options1, contactparameters2);
259
-                                    if (response1.Status == ResponseStatus.Error)
260
-                                    {
261
-                                        if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
262
-                                        return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
263
-                                    }
264
-                                    var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", code).Where(Exp.Eq("visitorid", visitorIds));
265
-                                    await _repository.ExecuteAsync(request, update);
266
-                                }
267
-                            }
268
-
269
-                            var selectvis = new Unibase.Data.Sql.Select("bizgazecrm_visitors").Columns("versionguid").Where("visitorid", visitorIds);
270
-                            var visparam = new List<Unibase.Data.Parameter>();
271
-                            param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds));
272
-                            var datatable = await GetDataTableAsync(srequest, sel1, param);
273
-                            string versionguid = string.Empty;
274
-                            if (datatable != null)
275
-                            {
276
-                                versionguid = datatable.Rows[0]["versionguid"].ToString();
353
+                                return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
277
                             }
354
                             }
278
 
355
 
279
-                            installedAppId = visitordata.Result.Installedappid;
280
-                            stageStatusName = "Pre-Invite";
281
-                            var options = new EntityOptions()
282
-                            {
283
-                                IsIdentity = true,
284
-                                IsNewEntity = false,
285
-                                TableName = "bizgazecrm_visitors",
286
-                                PkColumn = "visitorid",
287
-                                IsExcludeFromAudit = false,
288
-                                Id = defaultPKValue,
289
-                            };
290
-                            var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
291
-                            var NewStageId = stage.Result.StageId;
292
-                            dynamic contactparameters = new Dictionary<string, object>();
293
-                            contactparameters.Add("stageid", NewStageId);
294
-                            contactparameters.Add("versionguid", versionguid);
295
-                            contactparameters.Add("lastupdateddate", DateTime.Now);
296
-                            defaultPKValue = visitorIds;
297
-                            var response = await _repository.SaveAsync(request, options, contactparameters);
298
-
299
-                        }
300
-                    }
301
-                    var visitorInfos = await visitorManager.GetpreVisitorsAsync(srequest, code);
302
-                    var visitorId = Convert.ToInt64(visitorInfos.Result.VisitorId);
303
-                    var select = new Unibase.Data.Sql.Select("bizgazecrm_visitorcheckout").AllColumns().Where("visitorId", visitorId);
304
-                    var parameters = new List<Unibase.Data.Parameter>();
305
-                    parameters.Add(new Unibase.Data.Parameter("@visitorId", visitorId));
306
-                    var dt = await GetDataTableAsync(srequest, select, parameters);
307
-                    if (dt.Rows.Count == 0)
308
-                    {
309
-                        var vistoroptions = new EntityOptions()
310
-                        {
311
-                            IsIdentity = true,
312
-                            IsNewEntity = true,
313
-                            TableName = "bizgazecrm_visitorcheckout",
314
-                            PkColumn = "visitorcheckoutid",
315
-                            IsExcludeFromAudit = false,
316
-                            Id = 0,
317
-                        };
318
-                        dynamic visitor = new Dictionary<string, object>();
319
-                        visitor.Add("createdby", srequest.Identity.UserId);
320
-                        visitor.Add("checkindate", visitorInfos.Result.CheckInDate);
321
-                        visitor.Add("tenantid", tenantid);
322
-                        visitor.Add("comments", "");
323
-                        visitor.Add("checkoutdate", DateTime.MinValue);
324
-                        visitor.Add("rating", 0);
325
-                        visitor.Add("versionguid", Guid.NewGuid());
326
-                        visitor.Add("uniqueid", code);
327
-                        visitor.Add("statusid", (int)RowStatus.Active);
328
-                        visitor.Add("installedappid", visitorInfos.Result.Installedappid);
329
-                        visitor.Add("lastupdateddate", DateTime.Now);
330
-                        visitor.Add("visitorid", visitorId);
331
-                        var response1 = await _repository.SaveAsync(request, vistoroptions, visitor);
332
-                        if (response1.Status == ResponseStatus.Error)
333
-                        {
334
-                            if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
335
-                            return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
336
                         }
356
                         }
337
 
357
 
338
                     }
358
                     }
339
-
340
                 }
359
                 }
341
                 var returnresponse = new FormActionResponse();
360
                 var returnresponse = new FormActionResponse();
342
                 returnresponse.Obj = dictObj as ExpandoObject;
361
                 returnresponse.Obj = dictObj as ExpandoObject;

Loading…
Peruuta
Tallenna