|
@@ -69,116 +69,117 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
|
69
|
69
|
var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
|
70
|
70
|
var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
|
71
|
71
|
var dictObj = obj as IDictionary<string, dynamic>;
|
72
|
|
- var MobileNumber = dictObj["mobilenumber"].ToString();
|
73
|
|
- var employeeId = Convert.ChangeType(dictObj["employeeid"].ToString(), typeof(long));
|
74
|
|
- var cityId = Convert.ChangeType(dictObj["cityid"].ToString(), typeof(long));
|
75
|
|
- var visitornumberId = Convert.ChangeType(dictObj["visitornumberid"].ToString(), typeof(long));
|
76
|
|
- var purposeofvisit=Convert.ChangeType(dictObj["purposeofvisit"].ToString(), typeof(long));
|
77
|
|
- long visitorid = 0;
|
78
|
|
- var visitorsinfo = await visitorManager.VisitorsbyMobileNumberAsync(srequest, MobileNumber);
|
79
|
|
- Int32 refstatusid = 0;
|
80
|
|
- var stageStatusName = "";
|
81
|
|
- if (visitorsinfo.Result != null)
|
|
72
|
+ //ExpandoObject obj1 = dictObj["RequestObj"];
|
|
73
|
+ //var req = obj1 as IDictionary<string, object>;
|
|
74
|
+ var CaptureImageObj = Convert.ChangeType(dictObj["Captureimage"].ToString(), typeof(object)).ToString();
|
|
75
|
+ var deserializeimagesObj = JsonSerializer.Deserialize<List<ExpandoObject>>(CaptureImageObj);
|
|
76
|
+ for (var k = 0; k < deserializeimagesObj.Count; k++)
|
82
|
77
|
{
|
83
|
|
- refstatusid = visitorsinfo.Result.RefStatusId;
|
84
|
|
- visitorid = visitorsinfo.Result.VisitorId;
|
85
|
|
- if (refstatusid == 1 || refstatusid == 2)
|
|
78
|
+ var data1 = deserializeimagesObj[k];
|
|
79
|
+ var CaptureImageData = data1 as IDictionary<string, dynamic>;
|
|
80
|
+ var image = Convert.ChangeType(CaptureImageData["image"].ToString(), typeof(string)).ToString();
|
|
81
|
+ var MobileNumber = dictObj["mobilenumber"].ToString();
|
|
82
|
+ var employeeId = Convert.ChangeType(dictObj["employeeid"].ToString(), typeof(long));
|
|
83
|
+ var cityId = Convert.ChangeType(dictObj["cityid"].ToString(), typeof(long));
|
|
84
|
+ var visitornumberId = Convert.ChangeType(dictObj["visitornumberid"].ToString(), typeof(long));
|
|
85
|
+ var purposeofvisit = Convert.ChangeType(dictObj["purposeofvisit"].ToString(), typeof(long));
|
|
86
|
+ long visitorid = 0;
|
|
87
|
+ var visitorsinfo = await visitorManager.VisitorsbyMobileNumberAsync(srequest, MobileNumber);
|
|
88
|
+ Int32 refstatusid = 0;
|
|
89
|
+ var stageStatusName = "";
|
|
90
|
+ if (visitorsinfo.Result != null)
|
86
|
91
|
{
|
87
|
|
- return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Already Exists");
|
88
|
|
- }
|
89
|
|
- if (refstatusid == 3)
|
90
|
|
- {
|
91
|
|
- var agreement = visitorsinfo.Result.Agreement;
|
92
|
|
- visitorsinfo.Result.Agreement = agreement;
|
93
|
|
- dictObj["agreement"] = true;
|
94
|
|
- dictObj["visitorid"] = visitorid;
|
95
|
|
- dictObj["visitoremailid"] = visitorsinfo.Result.VisitorEmailId;
|
96
|
|
- dictObj["visitornumberid"] = visitorsinfo.Result.VisitorNumberId;
|
97
|
|
- var fullname = visitorsinfo.Result.FullName;
|
98
|
|
- var sql = "select userid from unibasecmn_users where username='" + fullname + "";
|
99
|
|
- var select = new Unibase.Data.Sql.Select("unibasecmn_users").AllColumns().Where("username", fullname);
|
100
|
|
- var parameters = new List<Unibase.Data.Parameter>();
|
101
|
|
- parameters.Add(new Unibase.Data.Parameter("@username", fullname));
|
102
|
|
- var dt = await GetDataTableAsync(srequest, select, parameters);
|
103
|
|
- var contactid = dt.Rows[0]["userid"];
|
104
|
|
- var vistoroptions = new EntityOptions()
|
|
92
|
+ refstatusid = visitorsinfo.Result.RefStatusId;
|
|
93
|
+ visitorid = visitorsinfo.Result.VisitorId;
|
|
94
|
+ if (refstatusid == 1 || refstatusid == 2)
|
105
|
95
|
{
|
106
|
|
- IsIdentity = true,
|
107
|
|
- IsNewEntity = true,
|
108
|
|
- TableName = "bizgazecrm_visitors",
|
109
|
|
- PkColumn = "visitorid",
|
110
|
|
- IsExcludeFromAudit = false,
|
111
|
|
- Id = 0,
|
112
|
|
- };
|
113
|
|
-
|
114
|
|
- var visitor = new Dictionary<string, object>();
|
115
|
|
- visitor.Add("createdby", srequest.Identity.UserId);
|
116
|
|
- visitor.Add("createddate", DateTime.Now);
|
117
|
|
- visitor.Add("statusid", visitorsinfo.Result.StatusId);
|
118
|
|
- visitor.Add("visitorid", visitorsinfo.Result.VisitorId);
|
119
|
|
- visitor.Add("organizationname", visitorsinfo.Result.OrganizationName);
|
120
|
|
- visitor.Add("contactid", contactid);
|
121
|
|
- visitor.Add("code", visitorsinfo.Result.Code);
|
122
|
|
- visitor.Add("agreement", true);
|
123
|
|
- visitor.Add("visitornumberid", visitorsinfo.Result.VisitorNumberId);
|
124
|
|
- visitor.Add("employeeid", employeeId);
|
125
|
|
- visitor.Add("seriesid", visitorsinfo.Result.SeriesId);
|
126
|
|
- visitor.Add("stageid", visitorsinfo.Result.StageId);
|
127
|
|
- visitor.Add("tenantid", visitorsinfo.Result.TenantId);
|
128
|
|
- visitor.Add("installedappid", visitorsinfo.Result.Installedappid);
|
129
|
|
- visitor.Add("fullname", visitorsinfo.Result.FullName);
|
130
|
|
- visitor.Add("futureinvitation", visitorsinfo.Result.FutureInvitation);
|
131
|
|
- visitor.Add("cityid", cityId);
|
132
|
|
- visitor.Add("purposeofvisit", visitorsinfo.Result.PurposeOfVisit);
|
133
|
|
- visitor.Add("title", visitorsinfo.Result.Title);
|
134
|
|
- visitor.Add("visitortype", visitorsinfo.Result.VisitorType);
|
135
|
|
-
|
136
|
|
- stageStatusName = "CheckIn";
|
137
|
|
- dictObj["visitorid"] = visitorid;
|
138
|
|
- DateTime dates = DateTime.Now;
|
139
|
|
- var installedAppId = visitorsinfo.Result.Installedappid;
|
140
|
|
- var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
|
141
|
|
- var NewStageId = stage.Result.StageId;
|
142
|
|
- //var Updatecheckindate = new Update("bizgazecrm_visitors").Value("typeofvisitor", 1).Value("employeeid",employeeId).Value("cityid",cityId).Value("stageid", NewStageId).Value("checkindate", dates).Value("lastupdateddate", dates).Where(Exp.Eq("visitorid", visitorid));
|
143
|
|
- //await _repository.ExecuteAsync(request, Updatecheckindate);
|
144
|
|
- // var response = await _repository.SaveAsync(request, vistoroptions, visitor);
|
145
|
|
- //visitor.Add("mobilenumber", visitorsinfo.Result.MobileNumber);
|
|
96
|
+ return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Already Exists");
|
|
97
|
+ }
|
|
98
|
+ if (refstatusid == 3)
|
|
99
|
+ {
|
|
100
|
+ var agreement = visitorsinfo.Result.Agreement;
|
|
101
|
+ visitorsinfo.Result.Agreement = agreement;
|
|
102
|
+ dictObj["agreement"] = true;
|
|
103
|
+ dictObj["visitorid"] = visitorid;
|
|
104
|
+ dictObj["visitoremailid"] = visitorsinfo.Result.VisitorEmailId;
|
|
105
|
+ dictObj["visitornumberid"] = visitorsinfo.Result.VisitorNumberId;
|
|
106
|
+ var fullname = visitorsinfo.Result.FullName;
|
|
107
|
+ var sql = "select userid from unibasecmn_users where username='" + fullname + "";
|
|
108
|
+ var select = new Unibase.Data.Sql.Select("unibasecmn_users").AllColumns().Where("username", fullname);
|
|
109
|
+ var parameters = new List<Unibase.Data.Parameter>();
|
|
110
|
+ parameters.Add(new Unibase.Data.Parameter("@username", fullname));
|
|
111
|
+ var dt = await GetDataTableAsync(srequest, select, parameters);
|
|
112
|
+ var contactid = dt.Rows[0]["userid"];
|
|
113
|
+ var vistoroptions = new EntityOptions()
|
|
114
|
+ {
|
|
115
|
+ IsIdentity = true,
|
|
116
|
+ IsNewEntity = true,
|
|
117
|
+ TableName = "bizgazecrm_visitors",
|
|
118
|
+ PkColumn = "visitorid",
|
|
119
|
+ IsExcludeFromAudit = false,
|
|
120
|
+ Id = 0,
|
|
121
|
+ };
|
146
|
122
|
|
147
|
|
- var updateDate = new Dictionary<string, object>();
|
148
|
|
- updateDate.Add("employeeid", employeeId);
|
149
|
|
- updateDate.Add("cityid", cityId);
|
150
|
|
- updateDate.Add("typeofvisitor",1);
|
151
|
|
- updateDate.Add("stageid", NewStageId);
|
152
|
|
- updateDate.Add("agreement",agreement );
|
153
|
|
- updateDate.Add("lastupdateddate", dates);
|
154
|
|
- updateDate.Add("purposeofvisit", purposeofvisit);
|
155
|
|
- var updateQry = new Update("bizgazecrm_visitors").Values(updateDate).Where(Exp.Eq("visitorid", visitorid));
|
156
|
|
- var ds = await _repository.ExecuteAsync(request, updateQry);
|
|
123
|
+ var visitor = new Dictionary<string, object>();
|
|
124
|
+ visitor.Add("createdby", srequest.Identity.UserId);
|
|
125
|
+ visitor.Add("createddate", DateTime.Now);
|
|
126
|
+ visitor.Add("statusid", visitorsinfo.Result.StatusId);
|
|
127
|
+ visitor.Add("visitorid", visitorsinfo.Result.VisitorId);
|
|
128
|
+ visitor.Add("organizationname", visitorsinfo.Result.OrganizationName);
|
|
129
|
+ visitor.Add("contactid", contactid);
|
|
130
|
+ visitor.Add("code", visitorsinfo.Result.Code);
|
|
131
|
+ visitor.Add("agreement", true);
|
|
132
|
+ visitor.Add("visitornumberid", visitorsinfo.Result.VisitorNumberId);
|
|
133
|
+ visitor.Add("employeeid", employeeId);
|
|
134
|
+ visitor.Add("seriesid", visitorsinfo.Result.SeriesId);
|
|
135
|
+ visitor.Add("stageid", visitorsinfo.Result.StageId);
|
|
136
|
+ visitor.Add("tenantid", visitorsinfo.Result.TenantId);
|
|
137
|
+ visitor.Add("installedappid", visitorsinfo.Result.Installedappid);
|
|
138
|
+ visitor.Add("fullname", visitorsinfo.Result.FullName);
|
|
139
|
+ visitor.Add("futureinvitation", visitorsinfo.Result.FutureInvitation);
|
|
140
|
+ visitor.Add("cityid", cityId);
|
|
141
|
+ visitor.Add("purposeofvisit", visitorsinfo.Result.PurposeOfVisit);
|
|
142
|
+ visitor.Add("title", visitorsinfo.Result.Title);
|
|
143
|
+ visitor.Add("visitortype", visitorsinfo.Result.VisitorType);
|
|
144
|
+ stageStatusName = "CheckIn";
|
|
145
|
+ dictObj["visitorid"] = visitorid;
|
|
146
|
+ DateTime dates = DateTime.Now;
|
|
147
|
+ var installedAppId = visitorsinfo.Result.Installedappid;
|
|
148
|
+ var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
|
|
149
|
+ var NewStageId = stage.Result.StageId;
|
|
150
|
+ //var Updatecheckindate = new Update("bizgazecrm_visitors").Value("typeofvisitor", 1).Value("employeeid",employeeId).Value("cityid",cityId).Value("stageid", NewStageId).Value("checkindate", dates).Value("lastupdateddate", dates).Where(Exp.Eq("visitorid", visitorid));
|
|
151
|
+ //await _repository.ExecuteAsync(request, Updatecheckindate);
|
|
152
|
+ // var response = await _repository.SaveAsync(request, vistoroptions, visitor);
|
|
153
|
+ //visitor.Add("mobilenumber", visitorsinfo.Result.MobileNumber);
|
157
|
154
|
|
|
155
|
+ var updateDate = new Dictionary<string, object>();
|
|
156
|
+ updateDate.Add("employeeid", employeeId);
|
|
157
|
+ updateDate.Add("photourl", image);
|
|
158
|
+ updateDate.Add("cityid", cityId);
|
|
159
|
+ updateDate.Add("typeofvisitor", 1);
|
|
160
|
+ updateDate.Add("stageid", NewStageId);
|
|
161
|
+ updateDate.Add("agreement", agreement);
|
|
162
|
+ updateDate.Add("lastupdateddate", dates);
|
|
163
|
+ updateDate.Add("purposeofvisit", purposeofvisit);
|
|
164
|
+ var updateQry = new Update("bizgazecrm_visitors").Values(updateDate).Where(Exp.Eq("visitorid", visitorid));
|
|
165
|
+ var ds = await _repository.ExecuteAsync(request, updateQry);
|
|
166
|
+ var agree = await visitorManager.VisitorAgreementAsync(request, visitorid);
|
158
|
167
|
|
159
|
|
- //returnresponse.Obj = visitor.ToExpandoObject();
|
|
168
|
+ }
|
160
|
169
|
|
161
|
|
- //if (response.Status == ResponseStatus.Error)
|
162
|
|
- //{
|
163
|
|
- // return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
|
164
|
|
- //}
|
165
|
|
- var agree = await visitorManager.VisitorAgreementAsync(request, visitorid);
|
166
|
|
-
|
167
|
170
|
}
|
168
|
|
-
|
169
|
|
- }
|
170
|
|
- else
|
171
|
|
- {
|
172
|
|
- return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor Not Found");
|
|
171
|
+ else
|
|
172
|
+ {
|
|
173
|
+ return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor Not Found");
|
|
174
|
+ }
|
|
175
|
+ //returnresponse = new FormActionResponse();
|
|
176
|
+ //returnresponse.Obj = null;
|
|
177
|
+ //returnresponse.PkValue = 0;
|
|
178
|
+ //return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
|
173
|
179
|
}
|
174
|
|
- //returnresponse = new FormActionResponse();
|
175
|
|
- //returnresponse.Obj = null;
|
176
|
|
- //returnresponse.PkValue = 0;
|
177
|
|
- //return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
|
178
|
|
-
|
179
|
180
|
returnresponse.PkValue = defaultPKValue;
|
180
|
181
|
return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
|
181
|
|
-
|
|
182
|
+
|
182
|
183
|
}
|
183
|
184
|
public List<UniqueKey> AppliedApps
|
184
|
185
|
{
|