UpdateVisitorBeenHerePreAction.cs Changes
Этот коммит содержится в:
@@ -1,4 +1,5 @@
|
|||||||
using Bizgaze.CRM;
|
using Bizgaze.CRM;
|
||||||
|
using Bizgaze.CRM.Visitors.Infos;
|
||||||
using Bizgaze.CRM.Visitors.Managers;
|
using Bizgaze.CRM.Visitors.Managers;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -56,17 +57,12 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
|
|||||||
return (int)Unibase.Platform.Forms.Enums.FormActionProvider.PreAction;
|
return (int)Unibase.Platform.Forms.Enums.FormActionProvider.PreAction;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//public ActionResponse<ExpandoObject> Execute(ActionRequest request, object IdValue, ExpandoObject obj, List<Unibase.Platform.Forms.Requests.DocParameter> docParametersList, ref long defaultPKValue)
|
|
||||||
//{
|
|
||||||
// return null;
|
|
||||||
|
|
||||||
//}
|
|
||||||
public async Task<ActionResponse<FormActionResponse>> ExecuteAsync(ActionRequest request, FormActionProviderObject providerObject)
|
public async Task<ActionResponse<FormActionResponse>> ExecuteAsync(ActionRequest request, FormActionProviderObject providerObject)
|
||||||
{
|
{
|
||||||
var IdValue = providerObject.IdValue;
|
var IdValue = providerObject.IdValue;
|
||||||
var srequest = SelectRequest.FromRequest(request);
|
var srequest = SelectRequest.FromRequest(request);
|
||||||
var obj = providerObject.RequestObject;
|
var obj = providerObject.RequestObject;
|
||||||
var returnresponse = new FormActionResponse();
|
var returnresponse = new FormActionResponse();
|
||||||
var defaultPKValue = providerObject.DefaultPKValue;
|
var defaultPKValue = providerObject.DefaultPKValue;
|
||||||
var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
|
var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
|
||||||
var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
|
var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
|
||||||
@@ -77,6 +73,7 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
|
|||||||
var stageStatusName = "";
|
var stageStatusName = "";
|
||||||
if (visitorsinfo.Result != null)
|
if (visitorsinfo.Result != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
stageStatusName = "CheckIn";
|
stageStatusName = "CheckIn";
|
||||||
visitorid = visitorsinfo.Result.VisitorId;
|
visitorid = visitorsinfo.Result.VisitorId;
|
||||||
dictObj["visitorid"] = visitorid;
|
dictObj["visitorid"] = visitorid;
|
||||||
@@ -85,20 +82,91 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
|
|||||||
var installedAppId = visitorsinfo.Result.Installedappid;
|
var installedAppId = visitorsinfo.Result.Installedappid;
|
||||||
var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
|
var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
|
||||||
var NewStageId = stage.Result.StageId;
|
var NewStageId = stage.Result.StageId;
|
||||||
var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorid));
|
var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorid));
|
||||||
await _repository.ExecuteAsync(request, UpdateStage);
|
await _repository.ExecuteAsync(request, UpdateStage);
|
||||||
}
|
var fullname = visitorsinfo.Result.FullName;
|
||||||
|
var sql = "select userid from unibasecmn_users where username='" + fullname + "'";
|
||||||
|
var select = new Unibase.Data.Sql.Select("unibasecmn_users").AllColumns().Where("username", fullname);
|
||||||
|
var parameters = new List<Unibase.Data.Parameter>();
|
||||||
|
parameters.Add(new Unibase.Data.Parameter("@username", fullname));
|
||||||
|
var dt = await GetDataTableAsync(srequest, select, parameters);
|
||||||
|
var contactid = dt.Rows[0]["userid"];
|
||||||
|
var vistoroptions = new EntityOptions()
|
||||||
|
{
|
||||||
|
IsIdentity = true,
|
||||||
|
IsNewEntity = true,
|
||||||
|
TableName = "bizgazecrm_visitors",
|
||||||
|
PkColumn = "visitorid",
|
||||||
|
IsExcludeFromAudit = false,
|
||||||
|
Id = 0,
|
||||||
|
};
|
||||||
|
dynamic visitor = new Dictionary<string, object>();
|
||||||
|
visitor.Add("createdby", srequest.Identity.UserId);
|
||||||
|
visitor.Add("createddate", DateTime.Now);
|
||||||
|
visitor.Add("statusid", visitorsinfo.Result.StatusId);
|
||||||
|
visitor.Add("alternatenumber", visitorsinfo.Result.AlternateNumber);
|
||||||
|
visitor.Add("organizationname", visitorsinfo.Result.OrganizationName);
|
||||||
|
visitor.Add("checkindate", DateTime.Now);
|
||||||
|
visitor.Add("contactid", contactid);
|
||||||
|
visitor.Add("code", visitorsinfo.Result.Code);
|
||||||
|
visitor.Add("agreement", visitorsinfo.Result.Agreement);
|
||||||
|
visitor.Add("employeeid", visitorsinfo.Result.EmployeeId);
|
||||||
|
visitor.Add("seriesid", visitorsinfo.Result.SeriesId);
|
||||||
|
visitor.Add("stageid", visitorsinfo.Result.StageId);
|
||||||
|
visitor.Add("tenantid", visitorsinfo.Result.TenantId);
|
||||||
|
visitor.Add("lastupdateddate", DateTime.Now);
|
||||||
|
visitor.Add("installedappid", visitorsinfo.Result.Installedappid);
|
||||||
|
visitor.Add("fullname", visitorsinfo.Result.FullName);
|
||||||
|
visitor.Add("futureinvitation", visitorsinfo.Result.FutureInvitation);
|
||||||
|
visitor.Add("comingfrom", visitorsinfo.Result.ComingFrom);
|
||||||
|
visitor.Add("purposeofvisit", visitorsinfo.Result.PurposeOfVisit);
|
||||||
|
visitor.Add("title", visitorsinfo.Result.Title);
|
||||||
|
var response = await _repository.SaveAsync(request, vistoroptions, visitor);
|
||||||
|
if (response.Status == ResponseStatus.Error)
|
||||||
|
{
|
||||||
|
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
|
||||||
|
}
|
||||||
|
var _visitorId = Convert.ToInt64(response.Result["_Id"].ToString());
|
||||||
|
// Int64 _visitorId = Convert.ToInt64(response.Result["_Id"]);
|
||||||
|
var vistoroptions1 = new EntityOptions()
|
||||||
|
{
|
||||||
|
IsIdentity = true,
|
||||||
|
IsNewEntity = true,
|
||||||
|
TableName = "bizgazecrm_visitorcheckout",
|
||||||
|
PkColumn = "visitorcheckoutid",
|
||||||
|
IsExcludeFromAudit = false,
|
||||||
|
Id = 0,
|
||||||
|
};
|
||||||
|
dynamic visitor1 = new Dictionary<string, object>();
|
||||||
|
visitor1.Add("createdby", srequest.Identity.UserId);
|
||||||
|
visitor1.Add("visitorid", _visitorId);
|
||||||
|
visitor1.Add("checkindate", visitorsinfo.Result.CheckInDate);
|
||||||
|
visitor1.Add("tenantid", visitorsinfo.Result.TenantId);
|
||||||
|
visitor1.Add("comments", "");
|
||||||
|
visitor1.Add("checkoutdate", DateTime.MinValue);
|
||||||
|
visitor1.Add("rating", 0);
|
||||||
|
visitor1.Add("versionguid", Guid.NewGuid());
|
||||||
|
visitor1.Add("uniqueid", visitorsinfo.Result.Code);
|
||||||
|
visitor1.Add("statusid", (int)RowStatus.Active);
|
||||||
|
visitor1.Add("installedappid", visitorsinfo.Result.Installedappid);
|
||||||
|
visitor1.Add("lastupdateddate", DateTime.Now);
|
||||||
|
var response1 = await _repository.SaveAsync(request, vistoroptions1, visitor1);
|
||||||
|
if (response1.Status == ResponseStatus.Error)
|
||||||
|
{
|
||||||
|
|
||||||
|
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor Not Found");
|
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor Not Found");
|
||||||
}
|
}
|
||||||
var updateValues = new Dictionary<string, object>();
|
var updateValues = new Dictionary<string, object>();
|
||||||
updateValues.Add("agreement", true);
|
var updateQry = new Update("bizgazecrm_visitors").Value("agreement", true).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorid", visitorid));
|
||||||
updateValues.Add("checkindate", DateTime.Now);
|
|
||||||
var updateQry = new Update("bizgazecrm_visitors").Values(updateValues).Where(Exp.Eq("visitorid", visitorid));
|
|
||||||
var ds = await _repository.ExecuteAsync(request, updateQry);
|
var ds = await _repository.ExecuteAsync(request, updateQry);
|
||||||
var UpdateCheckoutDate = new Update("bizgazecrm_visitorcheckout").Value("checkoutdate", DateTime.MinValue).Where(Exp.Eq("visitorId", visitorid));
|
// var UpdateCheckoutDate = new Update("bizgazecrm_visitorcheckout").Value("checkoutdate", DateTime.MinValue).Where(Exp.Eq("visitorId", visitorid));
|
||||||
await _repository.ExecuteAsync(request, UpdateCheckoutDate);
|
//await _repository.ExecuteAsync(request, UpdateCheckoutDate);
|
||||||
returnresponse.Obj = dictObj as ExpandoObject;
|
returnresponse.Obj = dictObj as ExpandoObject;
|
||||||
returnresponse.PkValue = defaultPKValue;
|
returnresponse.PkValue = defaultPKValue;
|
||||||
return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
|
return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user