VisitorStageChangeAndUpDateContacts.cs changes

This commit is contained in:
2023-08-17 10:15:45 +05:30
förälder 888379bce7
incheckning 4e1da74dd8
@@ -90,6 +90,7 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
long installedAppId = 0;
var stageStatusName = "";
var code = "";
var typeofvisitor = Convert.ToInt64(visitorInfo.Parameters["typeofvisitor"]);
code = visitorInfo.Parameters["code"].ToString();
var visitorIds = Convert.ToInt64(visitorInfo.Parameters["visitorid"]);
var sel1 = new Unibase.Data.Sql.Select("bizgazecrm_visitors").AllColumns().Where("visitorid", visitorIds);
@@ -98,125 +99,123 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
var dt1 = await GetDataTableAsync(srequest, sel1, param);
var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]);
var _SeriesId = Convert.ToInt64(visitorInfo.Parameters["seriesid"]);
var CapturePhotoObj = Convert.ChangeType(req["CapturePhoto1"].ToString(), typeof(object)).ToString();
var deserializeJEntriesObj = JsonSerializer.Deserialize<List<ExpandoObject>>(CapturePhotoObj);
for (var k = 0; k < deserializeJEntriesObj.Count; k++)
{
var data1 = deserializeJEntriesObj[k];
var CapturePhotoData = data1 as IDictionary<string, dynamic>;
var image = Convert.ChangeType(CapturePhotoData["image"].ToString(), typeof(string)).ToString();
//var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
var typeofvisitor = Convert.ToInt64(visitorInfo.Parameters["typeofvisitor"]);
installedAppId = Convert.ToInt64(visitorInfo.Parameters["installedappid"]);
installedAppId = Convert.ToInt64(visitorInfo.Parameters["installedappid"]);
var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds);
var _seriesManager = Unibase.Dependency.DependencyConfig.Resolve<Unibase.Platform.Series.Managers.ISeriesManager>();
if (visitordata.Result != null)
{
if (typeofvisitor == 1)
if (typeofvisitor == 1)
{
stageStatusName = "CheckIn";
var CapturePhotoObj = Convert.ChangeType(req["CapturePhoto1"].ToString(), typeof(object)).ToString();
var deserializeJEntriesObj = JsonSerializer.Deserialize<List<ExpandoObject>>(CapturePhotoObj);
for (var k = 0; k < deserializeJEntriesObj.Count; k++)
{
stageStatusName = "CheckIn";
var data1 = deserializeJEntriesObj[k];
var CapturePhotoData = data1 as IDictionary<string, dynamic>;
var image = Convert.ChangeType(CapturePhotoData["image"].ToString(), typeof(string)).ToString();
//string[] Ocode = { };
//Ocode.Append(code);
//string[] resultarray = Array.FindAll(Ocode, element => element == "-");
//if (resultarray.Length > 1)
//{
// if (_SeriesId != 0)
// {
// var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now);
// if (SeriesCodeInfo.Status == ResponseStatus.Error)
// {
// if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
// return ActionResponse<FormActionResponse>.CreateErrorResponse("1", SeriesCodeInfo.Message);
// }
// else
// {
// _code = SeriesCodeInfo.Result.SeriesCode;
// }
// }
//string[] Ocode = { };
//Ocode.Append(code);
//string[] resultarray = Array.FindAll(Ocode, element => element == "-");
//if (resultarray.Length > 1)
//{
// if (_SeriesId != 0)
// {
// var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now);
// if (SeriesCodeInfo.Status == ResponseStatus.Error)
// {
// if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
// return ActionResponse<FormActionResponse>.CreateErrorResponse("1", SeriesCodeInfo.Message);
// }
// else
// {
// _code = SeriesCodeInfo.Result.SeriesCode;
// }
// }
//}
//else
//{
// _code = code;
//}
mobileNumber = visitordata.Result.MobileNumber;
emailId = visitordata.Result.EmailId;
visitorName = visitordata.Result.FullName;
photourl = visitordata.Result.PhotoUrl;
var stages = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
var NewStageIds = stages.Result.StageId;
var UpdateStages = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
await _repository.ExecuteAsync(request, UpdateStages);
var visitorTypeid = visitordata.Result.VisitorType;
var typeofvisitorid = visitordata.Result.TypeofVisitor;
var options1 = new EntityOptions()
{
IsIdentity = true,
IsNewEntity = true,
TableName = "unibasecmn_users",
PkColumn = "userid",
IsExcludeFromAudit = false,
Id = 0,
};
dynamic visitorparameters1 = new Dictionary<string, object>();
visitorparameters1.Add("username", visitorName);
visitorparameters1.Add("createdby", srequest.Identity.UserId);
visitorparameters1.Add("tenantid", tenantid);
visitorparameters1.Add("createddate", DateTime.Now);
visitorparameters1.Add("versionguid", Guid.NewGuid());
visitorparameters1.Add("statusid", (int)RowStatus.Active);
visitorparameters1.Add("installedappid", installedAppId);
visitorparameters1.Add("phonenumber", mobileNumber);
visitorparameters1.Add("emailaddress", emailId);
var responses = await _repository.SaveAsync(request, options1, visitorparameters1);
if (responses.Status == ResponseStatus.Error)
{
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
}
else
{
using (var requestTrans1 = await request.BeginTransactionAsync())
{
Int64 userid = 0;
{
var data = responses.Result as Dictionary<string, object>;
userid = Convert.ToInt64(data["_Id"]);
}
var options = new EntityOptions()
{
IsIdentity = false,
IsNewEntity = true,
TableName = "bizgazecrm_contacts",
PkColumn = "contactid",
IsExcludeFromAudit = false,
Id = 0,
};
dynamic contactparameters = new Dictionary<string, object>();
contactparameters.Add("contactid", userid);
contactparameters.Add("contactname", visitorName);
contactparameters.Add("createdby", srequest.Identity.UserId);
contactparameters.Add("createddate", DateTime.Now);
contactparameters.Add("versionguid", Guid.NewGuid());
contactparameters.Add("statusid", (int)RowStatus.Active);
contactparameters.Add("installedappid", installedAppId);
var response = await _repository.SaveAsync(request, options, contactparameters);
if (response.Status == ResponseStatus.Error)
{
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
}
var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", code).Where(Exp.Eq("visitorid", visitorIds));
await _repository.ExecuteAsync(request, update);
}
}
//}
//else
//{
// _code = code;
//}
mobileNumber = visitordata.Result.MobileNumber;
emailId = visitordata.Result.EmailId;
visitorName = visitordata.Result.FullName;
photourl = visitordata.Result.PhotoUrl;
var stages = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
var NewStageIds = stages.Result.StageId;
var UpdateStages = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
await _repository.ExecuteAsync(request, UpdateStages);
var visitorTypeid = visitordata.Result.VisitorType;
var typeofvisitorid = visitordata.Result.TypeofVisitor;
var options1 = new EntityOptions()
{
IsIdentity = true,
IsNewEntity = true,
TableName = "unibasecmn_users",
PkColumn = "userid",
IsExcludeFromAudit = false,
Id = 0,
};
dynamic visitorparameters1 = new Dictionary<string, object>();
visitorparameters1.Add("username", visitorName);
visitorparameters1.Add("createdby", srequest.Identity.UserId);
visitorparameters1.Add("tenantid", tenantid);
visitorparameters1.Add("createddate", DateTime.Now);
visitorparameters1.Add("versionguid", Guid.NewGuid());
visitorparameters1.Add("statusid", (int)RowStatus.Active);
visitorparameters1.Add("installedappid", installedAppId);
visitorparameters1.Add("phonenumber", mobileNumber);
visitorparameters1.Add("emailaddress", emailId);
var responses = await _repository.SaveAsync(request, options1, visitorparameters1);
if (responses.Status == ResponseStatus.Error)
{
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
}
else
{
var UpdateStages1 = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
using (var requestTrans1 = await request.BeginTransactionAsync())
{
Int64 userid = 0;
{
var data = responses.Result as Dictionary<string, object>;
userid = Convert.ToInt64(data["_Id"]);
}
var options = new EntityOptions()
{
IsIdentity = false,
IsNewEntity = true,
TableName = "bizgazecrm_contacts",
PkColumn = "contactid",
IsExcludeFromAudit = false,
Id = 0,
};
dynamic contactparameters = new Dictionary<string, object>();
contactparameters.Add("contactid", userid);
contactparameters.Add("contactname", visitorName);
contactparameters.Add("createdby", srequest.Identity.UserId);
contactparameters.Add("createddate", DateTime.Now);
contactparameters.Add("versionguid", Guid.NewGuid());
contactparameters.Add("statusid", (int)RowStatus.Active);
contactparameters.Add("installedappid", installedAppId);
var response = await _repository.SaveAsync(request, options, contactparameters);
if (response.Status == ResponseStatus.Error)
{
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
}
var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", code).Where(Exp.Eq("visitorid", visitorIds));
await _repository.ExecuteAsync(request, update);
}
}
}
}
else
{
var UpdateStages1 = new Update("bizgazecrm_visitors").Value("agreement", true).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
await _repository.ExecuteAsync(request, UpdateStages1);
@@ -355,7 +354,7 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
}
}
}
var returnresponse = new FormActionResponse();
returnresponse.Obj = dictObj as ExpandoObject;