VisitorStageChangeAndUpDateContacts.cs Changes

This commit is contained in:
2023-07-09 19:21:15 +05:30
vanhempi 7539d7ba22
commit 1d948d5949
@@ -15,6 +15,7 @@ using Unibase.Platform.Apps.Managers;
using Unibase.Platform.Data; using Unibase.Platform.Data;
using Unibase.Platform.Forms.Providers; using Unibase.Platform.Forms.Providers;
using Unibase.Platform.Keys; using Unibase.Platform.Keys;
using Unibase.Platform.Series.Managers;
namespace Bizgaze.CRM.Visitors.ActionProviders namespace Bizgaze.CRM.Visitors.ActionProviders
{ {
@@ -85,46 +86,55 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
// var stageStatusName = ""; // var stageStatusName = "";
var photourl = ""; var photourl = "";
var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors"); var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors");
// var visitorNumberInfo = docParameters.Find(Y => Y.DocType == "bizgazecrm_visitornumbers");
//var tenantid = Convert.ToInt64(visitorNumberInfo.Parameters["tenantid"]);
if (visitorInfo != null) if (visitorInfo != null)
{ {
long installedAppId = 0; long installedAppId = 0;
var stageStatusName = ""; var stageStatusName = "";
var code = ""; var code = "";
//var tenantid = Convert.ToInt64(visitorInfo.Parameters["tenantid"]); var _code = "";
var visitorIds = Convert.ToInt64(visitorInfo.Parameters["visitorid"]); var visitorIds = Convert.ToInt64(visitorInfo.Parameters["visitorid"]);
var sel1 = new Unibase.Data.Sql.Select("bizgazecrm_visitors").AllColumns().Where("visitorid", visitorIds); var sel1 = new Unibase.Data.Sql.Select("bizgazecrm_visitors").AllColumns().Where("visitorid", visitorIds);
var param = new List<Unibase.Data.Parameter>(); var param = new List<Unibase.Data.Parameter>();
param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds)); param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds));
var dt1 = await GetDataTableAsync(srequest, sel1, param); var dt1 = await GetDataTableAsync(srequest, sel1, param);
var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]); var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]);
var _SeriesId = Convert.ToInt64(visitorInfo.Parameters["seriesid"]);
var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]); var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
DateTime CreateDate = Convert.ToDateTime(visitorInfo.Parameters["createddate"]);
var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds); var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds);
var _seriesManager = Unibase.Dependency.DependencyConfig.Resolve<Unibase.Platform.Series.Managers.ISeriesManager>();
if (visitordata.Result != null) if (visitordata.Result != null)
{ {
if (visitorType == 1) if (visitorType == 1)
{ {
stageStatusName = "CheckIn"; stageStatusName = "CheckIn";
code = visitorInfo.Parameters["code"].ToString(); code = visitorInfo.Parameters["code"].ToString();
}
else if (_SeriesId != 0)
{ {
stageStatusName = "Pre-Invite"; var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now);
defaultPKValue = visitorIds; if (SeriesCodeInfo.Status == ResponseStatus.Error)
code = visitorInfo.Parameters["accesscode"].ToString(); {
} if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
mobileNumber = visitordata.Result.MobileNumber; return ActionResponse<FormActionResponse>.CreateErrorResponse("1", SeriesCodeInfo.Message);
emailId = visitordata.Result.EmailId; }
installedAppId = visitordata.Result.Installedappid; else
visitorName = visitordata.Result.FullName; {
photourl = visitordata.Result.PhotoUrl; _code = SeriesCodeInfo.Result.SeriesCode;
var stages = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName); }
var NewStageIds = stages.Result.StageId; }
var UpdateStages = new Update("bizgazecrm_visitors").Value("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds)); mobileNumber = visitordata.Result.MobileNumber;
await _repository.ExecuteAsync(request, UpdateStages); emailId = visitordata.Result.EmailId;
var visitorTypeid = visitordata.Result.VisitorType; installedAppId = visitordata.Result.Installedappid;
if (visitorTypeid != 2) 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("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
await _repository.ExecuteAsync(request, UpdateStages);
var visitorTypeid = visitordata.Result.VisitorType;
var options1 = new EntityOptions() var options1 = new EntityOptions()
{ {
IsIdentity = true, IsIdentity = true,
@@ -183,13 +193,24 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync(); if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved"); return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Contacts Are Not Saved");
} }
var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Where(Exp.Eq("visitorid", visitorIds)); var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", _code).Where(Exp.Eq("visitorid", visitorIds));
await _repository.ExecuteAsync(request, update); await _repository.ExecuteAsync(request, update);
} }
} }
}
else
{
stageStatusName = "Pre-Invite";
defaultPKValue = visitorIds;
code = visitorInfo.Parameters["accesscode"].ToString();
var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
var NewStageId = stage.Result.StageId;
var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
await _repository.ExecuteAsync(request, UpdateStage);
} }
} }
var visitorInfos = await visitorManager.GetpreVisitorsAsync(srequest, code); var visitorInfos = await visitorManager.GetpreVisitorsAsync(srequest, _code);
var visitorId = Convert.ToInt64(visitorInfos.Result.VisitorId); var visitorId = Convert.ToInt64(visitorInfos.Result.VisitorId);
var select = new Unibase.Data.Sql.Select("bizgazecrm_visitorcheckout").AllColumns().Where("visitorId", visitorId); var select = new Unibase.Data.Sql.Select("bizgazecrm_visitorcheckout").AllColumns().Where("visitorId", visitorId);
var parameters = new List<Unibase.Data.Parameter>(); var parameters = new List<Unibase.Data.Parameter>();
@@ -214,7 +235,7 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
visitor.Add("checkoutdate", DateTime.MinValue); visitor.Add("checkoutdate", DateTime.MinValue);
visitor.Add("rating", 0); visitor.Add("rating", 0);
visitor.Add("versionguid", Guid.NewGuid()); visitor.Add("versionguid", Guid.NewGuid());
visitor.Add("uniqueid", code); visitor.Add("uniqueid", _code);
visitor.Add("statusid", (int)RowStatus.Active); visitor.Add("statusid", (int)RowStatus.Active);
visitor.Add("installedappid", visitorInfos.Result.Installedappid); visitor.Add("installedappid", visitorInfos.Result.Installedappid);
visitor.Add("lastupdateddate", DateTime.Now); visitor.Add("lastupdateddate", DateTime.Now);