VisitorStageChangeAndUpDateContacts.cs Changes
이 커밋은 다음에 포함됨:
@@ -16,6 +16,8 @@ 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;
|
using Unibase.Platform.Series.Managers;
|
||||||
|
using System.Text.Json;
|
||||||
|
using iText.Layout.Element;
|
||||||
|
|
||||||
namespace Bizgaze.CRM.Visitors.ActionProviders
|
namespace Bizgaze.CRM.Visitors.ActionProviders
|
||||||
{
|
{
|
||||||
@@ -73,13 +75,18 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
|
|||||||
var connection = GetConnection(request);
|
var connection = GetConnection(request);
|
||||||
ExpandoObject obj1 = dictObj["RequestObj"];
|
ExpandoObject obj1 = dictObj["RequestObj"];
|
||||||
var req = obj1 as IDictionary<string, object>;
|
var req = obj1 as IDictionary<string, object>;
|
||||||
|
// var requestObj = dictObj["RequestObj"] as IDictionary<string, object>;
|
||||||
|
// breakupTenureItems = Convert.ChangeType(requestObj["breakuptenure"].ToString(), typeof(object)).ToString();
|
||||||
|
|
||||||
var mobileNumber = "";
|
var mobileNumber = "";
|
||||||
var emailId = "";
|
var emailId = "";
|
||||||
var visitorName = "";
|
var visitorName = "";
|
||||||
var photourl = "";
|
var photourl = "";
|
||||||
|
|
||||||
var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors");
|
var visitorInfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitors");
|
||||||
if (visitorInfo != null)
|
if (visitorInfo != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
long installedAppId = 0;
|
long installedAppId = 0;
|
||||||
var stageStatusName = "";
|
var stageStatusName = "";
|
||||||
var code = "";
|
var code = "";
|
||||||
@@ -91,252 +98,264 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
|
|||||||
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 _SeriesId = Convert.ToInt64(visitorInfo.Parameters["seriesid"]);
|
||||||
// var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]);
|
var CapturePhotoObj = Convert.ChangeType(req["CapturePhoto1"].ToString(), typeof(object)).ToString();
|
||||||
var typeofvisitor = Convert.ToInt64(visitorInfo.Parameters["typeofvisitor"]);
|
var deserializeJEntriesObj = JsonSerializer.Deserialize<List<ExpandoObject>>(CapturePhotoObj);
|
||||||
installedAppId = Convert.ToInt64(visitorInfo.Parameters["installedappid"]);
|
for (var k = 0; k < deserializeJEntriesObj.Count; k++)
|
||||||
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)
|
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"]);
|
||||||
|
var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds);
|
||||||
|
var _seriesManager = Unibase.Dependency.DependencyConfig.Resolve<Unibase.Platform.Series.Managers.ISeriesManager>();
|
||||||
|
if (visitordata.Result != null)
|
||||||
{
|
{
|
||||||
stageStatusName = "CheckIn";
|
if (typeofvisitor == 1)
|
||||||
|
|
||||||
//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("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,
|
stageStatusName = "CheckIn";
|
||||||
IsNewEntity = true,
|
|
||||||
TableName = "unibasecmn_users",
|
//string[] Ocode = { };
|
||||||
PkColumn = "userid",
|
//Ocode.Append(code);
|
||||||
IsExcludeFromAudit = false,
|
//string[] resultarray = Array.FindAll(Ocode, element => element == "-");
|
||||||
Id = 0,
|
//if (resultarray.Length > 1)
|
||||||
};
|
//{
|
||||||
dynamic visitorparameters1 = new Dictionary<string, object>();
|
// if (_SeriesId != 0)
|
||||||
visitorparameters1.Add("username", visitorName);
|
// {
|
||||||
visitorparameters1.Add("createdby", srequest.Identity.UserId);
|
// var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now);
|
||||||
visitorparameters1.Add("tenantid", tenantid);
|
// if (SeriesCodeInfo.Status == ResponseStatus.Error)
|
||||||
visitorparameters1.Add("createddate", DateTime.Now);
|
// {
|
||||||
visitorparameters1.Add("versionguid", Guid.NewGuid());
|
// if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
||||||
visitorparameters1.Add("statusid", (int)RowStatus.Active);
|
// return ActionResponse<FormActionResponse>.CreateErrorResponse("1", SeriesCodeInfo.Message);
|
||||||
visitorparameters1.Add("installedappid", installedAppId);
|
// }
|
||||||
visitorparameters1.Add("phonenumber", mobileNumber);
|
// else
|
||||||
visitorparameters1.Add("emailaddress", emailId);
|
// {
|
||||||
var responses = await _repository.SaveAsync(request, options1, visitorparameters1);
|
// _code = SeriesCodeInfo.Result.SeriesCode;
|
||||||
if (responses.Status == ResponseStatus.Error)
|
// }
|
||||||
{
|
// }
|
||||||
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
|
||||||
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
|
//}
|
||||||
|
//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
|
else
|
||||||
{
|
{
|
||||||
using (var requestTrans1 = await request.BeginTransactionAsync())
|
var UpdateStages1 = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds));
|
||||||
{
|
await _repository.ExecuteAsync(request, UpdateStages1);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var options2 = new EntityOptions()
|
||||||
|
{
|
||||||
|
IsIdentity = true,
|
||||||
|
IsNewEntity = true,
|
||||||
|
TableName = "unibasecmn_users",
|
||||||
|
PkColumn = "userid",
|
||||||
|
IsExcludeFromAudit = false,
|
||||||
|
Id = 0,
|
||||||
|
};
|
||||||
|
dynamic visitorparameters2 = new Dictionary<string, object>();
|
||||||
|
visitorparameters2.Add("username", visitordata.Result.FullName);
|
||||||
|
visitorparameters2.Add("createdby", srequest.Identity.UserId);
|
||||||
|
visitorparameters2.Add("tenantid", tenantid);
|
||||||
|
visitorparameters2.Add("createddate", DateTime.Now);
|
||||||
|
visitorparameters2.Add("versionguid", Guid.NewGuid());
|
||||||
|
visitorparameters2.Add("statusid", (int)RowStatus.Active);
|
||||||
|
visitorparameters2.Add("installedappid", installedAppId);
|
||||||
|
visitorparameters2.Add("phonenumber", visitordata.Result.MobileNumber);
|
||||||
|
visitorparameters2.Add("emailaddress", visitordata.Result.EmailId);
|
||||||
|
var responses = await _repository.SaveAsync(request, options2, visitorparameters2);
|
||||||
|
|
||||||
|
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 options1 = new EntityOptions()
|
||||||
|
{
|
||||||
|
IsIdentity = false,
|
||||||
|
IsNewEntity = true,
|
||||||
|
TableName = "bizgazecrm_contacts",
|
||||||
|
PkColumn = "contactid",
|
||||||
|
IsExcludeFromAudit = false,
|
||||||
|
Id = 0,
|
||||||
|
};
|
||||||
|
dynamic contactparameters2 = new Dictionary<string, object>();
|
||||||
|
contactparameters2.Add("contactid", userid);
|
||||||
|
contactparameters2.Add("contactname", visitorName);
|
||||||
|
contactparameters2.Add("createdby", srequest.Identity.UserId);
|
||||||
|
contactparameters2.Add("createddate", DateTime.Now);
|
||||||
|
contactparameters2.Add("versionguid", Guid.NewGuid());
|
||||||
|
contactparameters2.Add("statusid", (int)RowStatus.Active);
|
||||||
|
contactparameters2.Add("installedappid", installedAppId);
|
||||||
|
var response1 = await _repository.SaveAsync(request, options1, contactparameters2);
|
||||||
|
if (response1.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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var selectvis = new Unibase.Data.Sql.Select("bizgazecrm_visitors").Columns("versionguid").Where("visitorid", visitorIds);
|
||||||
|
var visparam = new List<Unibase.Data.Parameter>();
|
||||||
|
param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds));
|
||||||
|
var datatable = await GetDataTableAsync(srequest, sel1, param);
|
||||||
|
string versionguid = string.Empty;
|
||||||
|
if (datatable != null)
|
||||||
|
{
|
||||||
|
versionguid = datatable.Rows[0]["versionguid"].ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
installedAppId = visitordata.Result.Installedappid;
|
||||||
|
stageStatusName = "Pre-Invite";
|
||||||
|
var options = new EntityOptions()
|
||||||
|
{
|
||||||
|
IsIdentity = true,
|
||||||
|
IsNewEntity = false,
|
||||||
|
TableName = "bizgazecrm_visitors",
|
||||||
|
PkColumn = "visitorid",
|
||||||
|
IsExcludeFromAudit = false,
|
||||||
|
Id = defaultPKValue,
|
||||||
|
};
|
||||||
|
var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
|
||||||
|
var NewStageId = stage.Result.StageId;
|
||||||
|
dynamic contactparameters = new Dictionary<string, object>();
|
||||||
|
contactparameters.Add("stageid", NewStageId);
|
||||||
|
contactparameters.Add("versionguid", versionguid);
|
||||||
|
contactparameters.Add("lastupdateddate", DateTime.Now);
|
||||||
|
defaultPKValue = visitorIds;
|
||||||
|
var response = await _repository.SaveAsync(request, options, contactparameters);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
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>();
|
||||||
|
parameters.Add(new Unibase.Data.Parameter("@visitorId", visitorId));
|
||||||
|
var dt = await GetDataTableAsync(srequest, select, parameters);
|
||||||
|
if (dt.Rows.Count == 0)
|
||||||
{
|
{
|
||||||
var options2 = new EntityOptions()
|
var vistoroptions = new EntityOptions()
|
||||||
{
|
{
|
||||||
IsIdentity = true,
|
IsIdentity = true,
|
||||||
IsNewEntity = true,
|
IsNewEntity = true,
|
||||||
TableName = "unibasecmn_users",
|
TableName = "bizgazecrm_visitorcheckout",
|
||||||
PkColumn = "userid",
|
PkColumn = "visitorcheckoutid",
|
||||||
IsExcludeFromAudit = false,
|
IsExcludeFromAudit = false,
|
||||||
Id = 0,
|
Id = 0,
|
||||||
};
|
};
|
||||||
dynamic visitorparameters2 = new Dictionary<string, object>();
|
dynamic visitor = new Dictionary<string, object>();
|
||||||
visitorparameters2.Add("username", visitordata.Result.FullName);
|
visitor.Add("createdby", srequest.Identity.UserId);
|
||||||
|
visitor.Add("checkindate", visitorInfos.Result.CheckInDate);
|
||||||
visitorparameters2.Add("createdby", srequest.Identity.UserId);
|
visitor.Add("tenantid", tenantid);
|
||||||
visitorparameters2.Add("tenantid", tenantid);
|
visitor.Add("comments", "");
|
||||||
visitorparameters2.Add("createddate", DateTime.Now);
|
visitor.Add("checkoutdate", DateTime.MinValue);
|
||||||
visitorparameters2.Add("versionguid", Guid.NewGuid());
|
visitor.Add("rating", 0);
|
||||||
visitorparameters2.Add("statusid", (int)RowStatus.Active);
|
visitor.Add("versionguid", Guid.NewGuid());
|
||||||
visitorparameters2.Add("installedappid", installedAppId);
|
visitor.Add("uniqueid", code);
|
||||||
visitorparameters2.Add("phonenumber", visitordata.Result.MobileNumber);
|
visitor.Add("statusid", (int)RowStatus.Active);
|
||||||
visitorparameters2.Add("emailaddress", visitordata.Result.EmailId);
|
visitor.Add("installedappid", visitorInfos.Result.Installedappid);
|
||||||
var responses = await _repository.SaveAsync(request, options2, visitorparameters2);
|
visitor.Add("lastupdateddate", DateTime.Now);
|
||||||
|
visitor.Add("visitorid", visitorId);
|
||||||
if (responses.Status == ResponseStatus.Error)
|
var response1 = await _repository.SaveAsync(request, vistoroptions, visitor);
|
||||||
|
if (response1.Status == ResponseStatus.Error)
|
||||||
{
|
{
|
||||||
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
||||||
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "user Are Not Saved");
|
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data 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 options1 = new EntityOptions()
|
|
||||||
{
|
|
||||||
IsIdentity = false,
|
|
||||||
IsNewEntity = true,
|
|
||||||
TableName = "bizgazecrm_contacts",
|
|
||||||
PkColumn = "contactid",
|
|
||||||
IsExcludeFromAudit = false,
|
|
||||||
Id = 0,
|
|
||||||
};
|
|
||||||
dynamic contactparameters2 = new Dictionary<string, object>();
|
|
||||||
contactparameters2.Add("contactid", userid);
|
|
||||||
contactparameters2.Add("contactname", visitorName);
|
|
||||||
contactparameters2.Add("createdby", srequest.Identity.UserId);
|
|
||||||
contactparameters2.Add("createddate", DateTime.Now);
|
|
||||||
contactparameters2.Add("versionguid", Guid.NewGuid());
|
|
||||||
contactparameters2.Add("statusid", (int)RowStatus.Active);
|
|
||||||
contactparameters2.Add("installedappid", installedAppId);
|
|
||||||
var response1 = await _repository.SaveAsync(request, options1, contactparameters2);
|
|
||||||
if (response1.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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var selectvis = new Unibase.Data.Sql.Select("bizgazecrm_visitors").Columns("versionguid").Where("visitorid", visitorIds);
|
|
||||||
var visparam = new List<Unibase.Data.Parameter>();
|
|
||||||
param.Add(new Unibase.Data.Parameter("@visitorId", visitorIds));
|
|
||||||
var datatable = await GetDataTableAsync(srequest, sel1, param);
|
|
||||||
string versionguid = string.Empty;
|
|
||||||
if (datatable != null)
|
|
||||||
{
|
|
||||||
versionguid = datatable.Rows[0]["versionguid"].ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
installedAppId = visitordata.Result.Installedappid;
|
|
||||||
stageStatusName = "Pre-Invite";
|
|
||||||
var options = new EntityOptions()
|
|
||||||
{
|
|
||||||
IsIdentity = true,
|
|
||||||
IsNewEntity = false,
|
|
||||||
TableName = "bizgazecrm_visitors",
|
|
||||||
PkColumn = "visitorid",
|
|
||||||
IsExcludeFromAudit = false,
|
|
||||||
Id = defaultPKValue,
|
|
||||||
};
|
|
||||||
var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
|
|
||||||
var NewStageId = stage.Result.StageId;
|
|
||||||
dynamic contactparameters = new Dictionary<string, object>();
|
|
||||||
contactparameters.Add("stageid", NewStageId);
|
|
||||||
contactparameters.Add("versionguid", versionguid);
|
|
||||||
contactparameters.Add("lastupdateddate", DateTime.Now);
|
|
||||||
defaultPKValue = visitorIds;
|
|
||||||
var response = await _repository.SaveAsync(request, options, contactparameters);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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>();
|
|
||||||
parameters.Add(new Unibase.Data.Parameter("@visitorId", visitorId));
|
|
||||||
var dt = await GetDataTableAsync(srequest, select, parameters);
|
|
||||||
if (dt.Rows.Count == 0)
|
|
||||||
{
|
|
||||||
var vistoroptions = new EntityOptions()
|
|
||||||
{
|
|
||||||
IsIdentity = true,
|
|
||||||
IsNewEntity = true,
|
|
||||||
TableName = "bizgazecrm_visitorcheckout",
|
|
||||||
PkColumn = "visitorcheckoutid",
|
|
||||||
IsExcludeFromAudit = false,
|
|
||||||
Id = 0,
|
|
||||||
};
|
|
||||||
dynamic visitor = new Dictionary<string, object>();
|
|
||||||
visitor.Add("createdby", srequest.Identity.UserId);
|
|
||||||
visitor.Add("checkindate", visitorInfos.Result.CheckInDate);
|
|
||||||
visitor.Add("tenantid", tenantid);
|
|
||||||
visitor.Add("comments", "");
|
|
||||||
visitor.Add("checkoutdate", DateTime.MinValue);
|
|
||||||
visitor.Add("rating", 0);
|
|
||||||
visitor.Add("versionguid", Guid.NewGuid());
|
|
||||||
visitor.Add("uniqueid", code);
|
|
||||||
visitor.Add("statusid", (int)RowStatus.Active);
|
|
||||||
visitor.Add("installedappid", visitorInfos.Result.Installedappid);
|
|
||||||
visitor.Add("lastupdateddate", DateTime.Now);
|
|
||||||
visitor.Add("visitorid", visitorId);
|
|
||||||
var response1 = await _repository.SaveAsync(request, vistoroptions, visitor);
|
|
||||||
if (response1.Status == ResponseStatus.Error)
|
|
||||||
{
|
|
||||||
if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
|
|
||||||
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
var returnresponse = new FormActionResponse();
|
var returnresponse = new FormActionResponse();
|
||||||
returnresponse.Obj = dictObj as ExpandoObject;
|
returnresponse.Obj = dictObj as ExpandoObject;
|
||||||
|
|||||||
새 이슈에서 참조
사용자 차단