Browse Source

VisitorStageChangeAndUpDateContacts.cs Changes

allauddin 2 years ago
parent
commit
1d948d5949
1 changed files with 45 additions and 24 deletions
  1. 45
    24
      CRM.Visitors/ActionProviders/VisitorStageChangeAndUpDateContacts.cs

+ 45
- 24
CRM.Visitors/ActionProviders/VisitorStageChangeAndUpDateContacts.cs View File

15
 using Unibase.Platform.Data;
15
 using Unibase.Platform.Data;
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
 
19
 
19
 namespace Bizgaze.CRM.Visitors.ActionProviders
20
 namespace Bizgaze.CRM.Visitors.ActionProviders
20
 {
21
 {
85
                 // var stageStatusName = "";
86
                 // var stageStatusName = "";
86
                 var photourl = "";
87
                 var photourl = "";
87
                 var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors");
88
                 var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors");
88
-
89
+                // var visitorNumberInfo = docParameters.Find(Y => Y.DocType == "bizgazecrm_visitornumbers");
90
+                //var tenantid = Convert.ToInt64(visitorNumberInfo.Parameters["tenantid"]);
89
                 if (visitorInfo != null)
91
                 if (visitorInfo != null)
90
                 {
92
                 {
91
                     long installedAppId = 0;
93
                     long installedAppId = 0;
92
                     var stageStatusName = "";
94
                     var stageStatusName = "";
93
                     var code = "";
95
                     var code = "";
94
-                    //var tenantid = Convert.ToInt64(visitorInfo.Parameters["tenantid"]);
96
+                    var _code = "";
95
                     var visitorIds = Convert.ToInt64(visitorInfo.Parameters["visitorid"]);
97
                     var visitorIds = Convert.ToInt64(visitorInfo.Parameters["visitorid"]);
96
                     var sel1 = new Unibase.Data.Sql.Select("bizgazecrm_visitors").AllColumns().Where("visitorid", visitorIds);
98
                     var sel1 = new Unibase.Data.Sql.Select("bizgazecrm_visitors").AllColumns().Where("visitorid", visitorIds);
97
                     var param = new List<Unibase.Data.Parameter>();
99
                     var param = new List<Unibase.Data.Parameter>();
98
                     param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds));
100
                     param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds));
99
                     var dt1 = await GetDataTableAsync(srequest, sel1, param);
101
                     var dt1 = await GetDataTableAsync(srequest, sel1, param);
100
                     var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]);
102
                     var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]);
103
+                    var _SeriesId = Convert.ToInt64(visitorInfo.Parameters["seriesid"]);
101
                     var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
104
                     var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
105
+                    DateTime CreateDate = Convert.ToDateTime(visitorInfo.Parameters["createddate"]);
102
                     var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds);
106
                     var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds);
107
+                    var _seriesManager = Unibase.Dependency.DependencyConfig.Resolve<Unibase.Platform.Series.Managers.ISeriesManager>();
103
                     if (visitordata.Result != null)
108
                     if (visitordata.Result != null)
104
                     {
109
                     {
105
                         if (visitorType == 1)
110
                         if (visitorType == 1)
106
                         {
111
                         {
107
                             stageStatusName = "CheckIn";
112
                             stageStatusName = "CheckIn";
108
                             code = visitorInfo.Parameters["code"].ToString();
113
                             code = visitorInfo.Parameters["code"].ToString();
109
-                        }
110
-                        else
111
-                        {
112
-                            stageStatusName = "Pre-Invite";
113
-                            defaultPKValue = visitorIds;
114
-                            code = visitorInfo.Parameters["accesscode"].ToString();
115
-                        }
116
-                        mobileNumber = visitordata.Result.MobileNumber;
117
-                        emailId = visitordata.Result.EmailId;
118
-                        installedAppId = visitordata.Result.Installedappid;
119
-                        visitorName = visitordata.Result.FullName;
120
-                        photourl = visitordata.Result.PhotoUrl;
121
-                        var stages = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
122
-                        var NewStageIds = stages.Result.StageId;
123
-                        var UpdateStages = new Update("bizgazecrm_visitors").Value("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
124
-                        await _repository.ExecuteAsync(request, UpdateStages);
125
-                        var visitorTypeid = visitordata.Result.VisitorType;
126
-                        if (visitorTypeid != 2)
127
-                        {
114
+
115
+                            if (_SeriesId != 0)
116
+                            {
117
+                                var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now);
118
+                                if (SeriesCodeInfo.Status == ResponseStatus.Error)
119
+                                {
120
+                                    if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
121
+                                    return ActionResponse<FormActionResponse>.CreateErrorResponse("1", SeriesCodeInfo.Message);
122
+                                }
123
+                                else
124
+                                {
125
+                                    _code = SeriesCodeInfo.Result.SeriesCode;
126
+                                }
127
+                            }
128
+                            mobileNumber = visitordata.Result.MobileNumber;
129
+                            emailId = visitordata.Result.EmailId;
130
+                            installedAppId = visitordata.Result.Installedappid;
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;
128
                             var options1 = new EntityOptions()
138
                             var options1 = new EntityOptions()
129
                             {
139
                             {
130
                                 IsIdentity = true,
140
                                 IsIdentity = true,
183
                                         if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
193
                                         if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
184
                                         return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
194
                                         return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
185
                                     }
195
                                     }
186
-                                    var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Where(Exp.Eq("visitorid", visitorIds));
196
+                                    var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", _code).Where(Exp.Eq("visitorid", visitorIds));
187
                                     await _repository.ExecuteAsync(request, update);
197
                                     await _repository.ExecuteAsync(request, update);
188
                                 }
198
                                 }
189
                             }
199
                             }
200
+
201
+                        }
202
+                        else
203
+                        {
204
+                            stageStatusName = "Pre-Invite";
205
+                            defaultPKValue = visitorIds;
206
+                            code = visitorInfo.Parameters["accesscode"].ToString();
207
+                            var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
208
+                            var NewStageId = stage.Result.StageId;
209
+                            var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
210
+                            await _repository.ExecuteAsync(request, UpdateStage);
190
                         }
211
                         }
191
                     }
212
                     }
192
-                    var visitorInfos = await visitorManager.GetpreVisitorsAsync(srequest, code);
213
+                    var visitorInfos = await visitorManager.GetpreVisitorsAsync(srequest, _code);
193
                     var visitorId = Convert.ToInt64(visitorInfos.Result.VisitorId);
214
                     var visitorId = Convert.ToInt64(visitorInfos.Result.VisitorId);
194
                     var select = new Unibase.Data.Sql.Select("bizgazecrm_visitorcheckout").AllColumns().Where("visitorId", visitorId);
215
                     var select = new Unibase.Data.Sql.Select("bizgazecrm_visitorcheckout").AllColumns().Where("visitorId", visitorId);
195
                     var parameters = new List<Unibase.Data.Parameter>();
216
                     var parameters = new List<Unibase.Data.Parameter>();
214
                         visitor.Add("checkoutdate", DateTime.MinValue);
235
                         visitor.Add("checkoutdate", DateTime.MinValue);
215
                         visitor.Add("rating", 0);
236
                         visitor.Add("rating", 0);
216
                         visitor.Add("versionguid", Guid.NewGuid());
237
                         visitor.Add("versionguid", Guid.NewGuid());
217
-                        visitor.Add("uniqueid", code);
238
+                        visitor.Add("uniqueid", _code);
218
                         visitor.Add("statusid", (int)RowStatus.Active);
239
                         visitor.Add("statusid", (int)RowStatus.Active);
219
                         visitor.Add("installedappid", visitorInfos.Result.Installedappid);
240
                         visitor.Add("installedappid", visitorInfos.Result.Installedappid);
220
                         visitor.Add("lastupdateddate", DateTime.Now);
241
                         visitor.Add("lastupdateddate", DateTime.Now);

Loading…
Cancel
Save