VisitorStageChangeAndUpDateContacts.cs Changes

This commit is contained in:
2023-07-09 19:21:15 +05:30
rodzic 7539d7ba22
commit 1d948d5949
@@ -15,6 +15,7 @@ using Unibase.Platform.Apps.Managers;
using Unibase.Platform.Data;
using Unibase.Platform.Forms.Providers;
using Unibase.Platform.Keys;
using Unibase.Platform.Series.Managers;
namespace Bizgaze.CRM.Visitors.ActionProviders
{
@@ -85,46 +86,55 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
// var stageStatusName = "";
var photourl = "";
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)
{
long installedAppId = 0;
var stageStatusName = "";
var code = "";
//var tenantid = Convert.ToInt64(visitorInfo.Parameters["tenantid"]);
var _code = "";
var visitorIds = Convert.ToInt64(visitorInfo.Parameters["visitorid"]);
var sel1 = new Unibase.Data.Sql.Select("bizgazecrm_visitors").AllColumns().Where("visitorid", visitorIds);
var param = new List<Unibase.Data.Parameter>();
param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds));
var dt1 = await GetDataTableAsync(srequest, sel1, param);
var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]);
var _SeriesId = Convert.ToInt64(visitorInfo.Parameters["seriesid"]);
var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
DateTime CreateDate = Convert.ToDateTime(visitorInfo.Parameters["createddate"]);
var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds);
var _seriesManager = Unibase.Dependency.DependencyConfig.Resolve<Unibase.Platform.Series.Managers.ISeriesManager>();
if (visitordata.Result != null)
{
if (visitorType == 1)
{
stageStatusName = "CheckIn";
code = visitorInfo.Parameters["code"].ToString();
}
else
{
stageStatusName = "Pre-Invite";
defaultPKValue = visitorIds;
code = visitorInfo.Parameters["accesscode"].ToString();
}
mobileNumber = visitordata.Result.MobileNumber;
emailId = visitordata.Result.EmailId;
installedAppId = visitordata.Result.Installedappid;
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;
if (visitorTypeid != 2)
{
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;
}
}
mobileNumber = visitordata.Result.MobileNumber;
emailId = visitordata.Result.EmailId;
installedAppId = visitordata.Result.Installedappid;
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()
{
IsIdentity = true,
@@ -183,13 +193,24 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
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);
}
}
}
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 select = new Unibase.Data.Sql.Select("bizgazecrm_visitorcheckout").AllColumns().Where("visitorId", visitorId);
var parameters = new List<Unibase.Data.Parameter>();
@@ -214,7 +235,7 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
visitor.Add("checkoutdate", DateTime.MinValue);
visitor.Add("rating", 0);
visitor.Add("versionguid", Guid.NewGuid());
visitor.Add("uniqueid", code);
visitor.Add("uniqueid", _code);
visitor.Add("statusid", (int)RowStatus.Active);
visitor.Add("installedappid", visitorInfos.Result.Installedappid);
visitor.Add("lastupdateddate", DateTime.Now);