|
@@ -66,31 +66,29 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
|
66
|
66
|
var IdValue = providerObject.IdValue;
|
67
|
67
|
var srequest = SelectRequest.FromRequest(request);
|
68
|
68
|
var obj = providerObject.RequestObject;
|
69
|
|
- var docParametersList = providerObject.DocParametersList;
|
70
|
|
- dynamic visitorparam = new Dictionary<string, object>();
|
|
69
|
+ //var docParametersList = providerObject.DocParametersList;
|
|
70
|
+ //dynamic visitorparam = new Dictionary<string, object>();
|
71
|
71
|
var defaultPKValue = providerObject.DefaultPKValue;
|
72
|
72
|
var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
|
|
73
|
+ var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
|
73
|
74
|
var dictObj = obj as IDictionary<string, dynamic>;
|
74
|
75
|
List<Unibase.Platform.Forms.Requests.DocParameter> docParameters = dictObj["DocParameters"];
|
75
|
76
|
var connection = GetConnection(request);
|
76
|
77
|
ExpandoObject obj1 = dictObj["RequestObj"];
|
77
|
78
|
var req = obj1 as IDictionary<string, object>;
|
|
79
|
+ var mobileNumber = "";
|
|
80
|
+ var emailId = "";
|
|
81
|
+ long installedAppId = 0;
|
|
82
|
+ var visitorName = "";
|
|
83
|
+ var stageStatusName = "";
|
|
84
|
+ var photourl = "";
|
78
|
85
|
var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors");
|
79
|
86
|
if (visitorInfo != null)
|
80
|
87
|
{
|
81
|
88
|
var visitorId = Convert.ToInt64(visitorInfo.Parameters["visitorid"]);
|
82
|
89
|
var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
|
83
|
|
- var sql = new Unibase.Data.Sql.Select("bizgazecrm_visitors").Columns("bizgazecrm_visitors.installedappid", "bizgazecrm_visitors.fullname", "bizgazecrm_visitors.mobilenumber", "bizgazecrm_visitors.emailid", "bizgazecrm_visitors.photourl", "unibase_stagestatus.stageStatusName", "unibase_stagestatus.RefStatusId").InnerJoin("unibase_stages", Exp.EqColumns("unibase_stages.stageid", "bizgazecrm_visitors.stageid")).InnerJoin("unibase_stagestatus", Exp.EqColumns("unibase_stagestatus.stagestatusid", "unibase_stages.stagestatusid")).Where("bizgazecrm_visitors.visitorid", visitorId);
|
84
|
|
- List<Parameter> param = new List<Parameter>();
|
85
|
|
- param.Add(new Parameter("@bizgazecrm_visitors.visitorid", visitorId));
|
86
|
|
- var dt = await GetDataTableAsync(srequest, sql, param);
|
87
|
|
- var mobileNumber = "";
|
88
|
|
- var emailId = "";
|
89
|
|
- long installedAppId = 0;
|
90
|
|
- var visitorName = "";
|
91
|
|
- var stageStatusName = "";
|
92
|
|
- var photourl = "";
|
93
|
|
- if (dt.Rows.Count > 0)
|
|
90
|
+ var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorId);
|
|
91
|
+ if (visitordata.Result != null)
|
94
|
92
|
{
|
95
|
93
|
if (visitorType == 1)
|
96
|
94
|
{
|
|
@@ -101,94 +99,82 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
|
101
|
99
|
stageStatusName = "Pre-Invite";
|
102
|
100
|
defaultPKValue = visitorId;
|
103
|
101
|
}
|
104
|
|
-
|
105
|
|
- for (int i = 0; i < dt.Rows.Count; i++)
|
106
|
|
- {
|
107
|
|
- mobileNumber = Convert.ToString(dt.Rows[i]["mobileNumber"]);
|
108
|
|
- emailId = Convert.ToString(dt.Rows[i]["emailid"]);
|
109
|
|
- installedAppId = Convert.ToInt64(dt.Rows[i]["installedAppId"]);
|
110
|
|
- visitorName = Convert.ToString(dt.Rows[i]["fullname"]);
|
111
|
|
- photourl = Convert.ToString(dt.Rows[i]["photourl"]);
|
112
|
|
- var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
|
113
|
|
- var NewStageId = stage.Result.StageId;
|
114
|
|
- var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorId));
|
115
|
|
- await _repository.ExecuteAsync(request, UpdateStage);
|
116
|
|
-
|
117
|
|
- }
|
118
|
|
- }
|
119
|
|
- var visitorTypeid = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
|
120
|
|
- if (visitorTypeid != 2)
|
121
|
|
- {
|
122
|
|
- var options1 = new EntityOptions()
|
123
|
|
- {
|
124
|
|
- IsIdentity = true,
|
125
|
|
- IsNewEntity = true,
|
126
|
|
- TableName = "unibasecmn_users",
|
127
|
|
- PkColumn = "userid",
|
128
|
|
- IsExcludeFromAudit = false,
|
129
|
|
- Id = 0,
|
130
|
|
- };
|
131
|
|
- dynamic visitorparameters1 = new Dictionary<string, object>();
|
132
|
|
-
|
133
|
|
- visitorparameters1.Add("username", visitorName);
|
134
|
|
- visitorparameters1.Add("createdby", srequest.Identity.UserId);
|
135
|
|
- visitorparameters1.Add("createddate", DateTime.Now);
|
136
|
|
- visitorparameters1.Add("versionguid", Guid.NewGuid());
|
137
|
|
- visitorparameters1.Add("statusid", (int)RowStatus.Active);
|
138
|
|
- visitorparameters1.Add("installedappid", installedAppId);
|
139
|
|
- visitorparameters1.Add("phonenumber", mobileNumber);
|
140
|
|
- visitorparameters1.Add("emailaddress", emailId);
|
141
|
|
-
|
142
|
|
- var responses = await _repository.SaveAsync(request, options1, visitorparameters1);
|
143
|
|
- if (responses.Status == ResponseStatus.Error)
|
144
|
|
- {
|
145
|
|
- if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
146
|
|
- return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
|
147
|
|
- }
|
148
|
|
- else
|
|
102
|
+ mobileNumber = visitordata.Result.MobileNumber;
|
|
103
|
+ emailId = visitordata.Result.EmailId;
|
|
104
|
+ installedAppId = visitordata.Result.Installedappid;
|
|
105
|
+ visitorName = visitordata.Result.FullName;
|
|
106
|
+ photourl = visitordata.Result.PhotoUrl;
|
|
107
|
+ var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
|
|
108
|
+ var NewStageId = stage.Result.StageId;
|
|
109
|
+ var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorId));
|
|
110
|
+ await _repository.ExecuteAsync(request, UpdateStage);
|
|
111
|
+ var visitorTypeid = visitordata.Result.VisitorType;
|
|
112
|
+ if (visitorTypeid != 2)
|
149
|
113
|
{
|
150
|
|
-
|
151
|
|
- using (var requestTrans1 = await request.BeginTransactionAsync())
|
|
114
|
+ var options1 = new EntityOptions()
|
152
|
115
|
{
|
153
|
|
- Int64 userid =0;
|
154
|
|
- {
|
155
|
|
- var data = responses.Result as Dictionary<string, object>;
|
156
|
|
- userid = Convert.ToInt64(data["_Id"]);
|
157
|
|
- }
|
158
|
|
- var options = new EntityOptions()
|
159
|
|
- {
|
160
|
|
- IsIdentity = false,
|
161
|
|
- IsNewEntity = true,
|
162
|
|
- TableName = "bizgazecrm_contacts",
|
163
|
|
- PkColumn = "contactid",
|
164
|
|
- IsExcludeFromAudit = false,
|
165
|
|
- Id = 0,
|
166
|
|
- };
|
167
|
|
- dynamic contactparameters = new Dictionary<string, object>();
|
168
|
|
- contactparameters.Add("contactid", userid);
|
169
|
|
- contactparameters.Add("contactname", visitorName);
|
170
|
|
- contactparameters.Add("photourl", photourl);
|
171
|
|
- contactparameters.Add("createdby", srequest.Identity.UserId);
|
172
|
|
- contactparameters.Add("createddate", DateTime.Now);
|
173
|
|
- contactparameters.Add("versionguid", Guid.NewGuid());
|
174
|
|
- contactparameters.Add("statusid", (int)RowStatus.Active);
|
175
|
|
- contactparameters.Add("installedappid", installedAppId);
|
176
|
|
-
|
177
|
|
- var response = await _repository.SaveAsync(request, options, contactparameters);
|
178
|
|
- if (response.Status == ResponseStatus.Error)
|
|
116
|
+ IsIdentity = true,
|
|
117
|
+ IsNewEntity = true,
|
|
118
|
+ TableName = "unibasecmn_users",
|
|
119
|
+ PkColumn = "userid",
|
|
120
|
+ IsExcludeFromAudit = false,
|
|
121
|
+ Id = 0,
|
|
122
|
+ };
|
|
123
|
+ dynamic visitorparameters1 = new Dictionary<string, object>();
|
|
124
|
+ visitorparameters1.Add("username", visitorName);
|
|
125
|
+ visitorparameters1.Add("createdby", srequest.Identity.UserId);
|
|
126
|
+ visitorparameters1.Add("createddate", DateTime.Now);
|
|
127
|
+ visitorparameters1.Add("versionguid", Guid.NewGuid());
|
|
128
|
+ visitorparameters1.Add("statusid", (int)RowStatus.Active);
|
|
129
|
+ visitorparameters1.Add("installedappid", installedAppId);
|
|
130
|
+ visitorparameters1.Add("phonenumber", mobileNumber);
|
|
131
|
+ visitorparameters1.Add("emailaddress", emailId);
|
|
132
|
+ var responses = await _repository.SaveAsync(request, options1, visitorparameters1);
|
|
133
|
+ if (responses.Status == ResponseStatus.Error)
|
|
134
|
+ {
|
|
135
|
+ if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
|
136
|
+ return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
|
|
137
|
+ }
|
|
138
|
+ else
|
|
139
|
+ {
|
|
140
|
+ using (var requestTrans1 = await request.BeginTransactionAsync())
|
179
|
141
|
{
|
180
|
|
- if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
181
|
|
- return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
|
|
142
|
+ Int64 userid = 0;
|
|
143
|
+ {
|
|
144
|
+ var data = responses.Result as Dictionary<string, object>;
|
|
145
|
+ userid = Convert.ToInt64(data["_Id"]);
|
|
146
|
+ }
|
|
147
|
+ var options = new EntityOptions()
|
|
148
|
+ {
|
|
149
|
+ IsIdentity = false,
|
|
150
|
+ IsNewEntity = true,
|
|
151
|
+ TableName = "bizgazecrm_contacts",
|
|
152
|
+ PkColumn = "contactid",
|
|
153
|
+ IsExcludeFromAudit = false,
|
|
154
|
+ Id = 0,
|
|
155
|
+ };
|
|
156
|
+ dynamic contactparameters = new Dictionary<string, object>();
|
|
157
|
+ contactparameters.Add("contactid", userid);
|
|
158
|
+ contactparameters.Add("contactname", visitorName);
|
|
159
|
+ contactparameters.Add("photourl", photourl);
|
|
160
|
+ contactparameters.Add("createdby", srequest.Identity.UserId);
|
|
161
|
+ contactparameters.Add("createddate", DateTime.Now);
|
|
162
|
+ contactparameters.Add("versionguid", Guid.NewGuid());
|
|
163
|
+ contactparameters.Add("statusid", (int)RowStatus.Active);
|
|
164
|
+ contactparameters.Add("installedappid", installedAppId);
|
|
165
|
+ var response = await _repository.SaveAsync(request, options, contactparameters);
|
|
166
|
+ if (response.Status == ResponseStatus.Error)
|
|
167
|
+ {
|
|
168
|
+ if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
|
169
|
+ return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
|
|
170
|
+ }
|
|
171
|
+ var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Where(Exp.Eq("visitorid", visitorId));
|
|
172
|
+ await _repository.ExecuteAsync(request, update);
|
182
|
173
|
}
|
183
|
|
-
|
184
|
|
- var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Where(Exp.Eq("visitorid", visitorId));
|
185
|
|
- await _repository.ExecuteAsync(request, update);
|
186
|
|
-
|
187
|
174
|
}
|
188
|
175
|
}
|
189
|
|
- }
|
|
176
|
+ }
|
190
|
177
|
}
|
191
|
|
-
|
192
|
178
|
var returnresponse = new FormActionResponse();
|
193
|
179
|
returnresponse.Obj = dictObj as ExpandoObject;
|
194
|
180
|
returnresponse.PkValue = defaultPKValue;
|