6
0

VisitorPreInvitePreAction.cs changes

Bu işleme şunda yer alıyor:
2023-08-17 10:15:12 +05:30
ebeveyn a7cf1d17ef
işleme 888379bce7
+100 -99
Dosyayı Görüntüle
@@ -69,116 +69,117 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
var dictObj = obj as IDictionary<string, dynamic>;
var MobileNumber = dictObj["mobilenumber"].ToString();
var employeeId = Convert.ChangeType(dictObj["employeeid"].ToString(), typeof(long));
var cityId = Convert.ChangeType(dictObj["cityid"].ToString(), typeof(long));
var visitornumberId = Convert.ChangeType(dictObj["visitornumberid"].ToString(), typeof(long));
var purposeofvisit=Convert.ChangeType(dictObj["purposeofvisit"].ToString(), typeof(long));
long visitorid = 0;
var visitorsinfo = await visitorManager.VisitorsbyMobileNumberAsync(srequest, MobileNumber);
Int32 refstatusid = 0;
var stageStatusName = "";
if (visitorsinfo.Result != null)
//ExpandoObject obj1 = dictObj["RequestObj"];
//var req = obj1 as IDictionary<string, object>;
var CaptureImageObj = Convert.ChangeType(dictObj["Captureimage"].ToString(), typeof(object)).ToString();
var deserializeimagesObj = JsonSerializer.Deserialize<List<ExpandoObject>>(CaptureImageObj);
for (var k = 0; k < deserializeimagesObj.Count; k++)
{
refstatusid = visitorsinfo.Result.RefStatusId;
visitorid = visitorsinfo.Result.VisitorId;
if (refstatusid == 1 || refstatusid == 2)
var data1 = deserializeimagesObj[k];
var CaptureImageData = data1 as IDictionary<string, dynamic>;
var image = Convert.ChangeType(CaptureImageData["image"].ToString(), typeof(string)).ToString();
var MobileNumber = dictObj["mobilenumber"].ToString();
var employeeId = Convert.ChangeType(dictObj["employeeid"].ToString(), typeof(long));
var cityId = Convert.ChangeType(dictObj["cityid"].ToString(), typeof(long));
var visitornumberId = Convert.ChangeType(dictObj["visitornumberid"].ToString(), typeof(long));
var purposeofvisit = Convert.ChangeType(dictObj["purposeofvisit"].ToString(), typeof(long));
long visitorid = 0;
var visitorsinfo = await visitorManager.VisitorsbyMobileNumberAsync(srequest, MobileNumber);
Int32 refstatusid = 0;
var stageStatusName = "";
if (visitorsinfo.Result != null)
{
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Already Exists");
}
if (refstatusid == 3)
{
var agreement = visitorsinfo.Result.Agreement;
visitorsinfo.Result.Agreement = agreement;
dictObj["agreement"] = true;
dictObj["visitorid"] = visitorid;
dictObj["visitoremailid"] = visitorsinfo.Result.VisitorEmailId;
dictObj["visitornumberid"] = visitorsinfo.Result.VisitorNumberId;
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()
refstatusid = visitorsinfo.Result.RefStatusId;
visitorid = visitorsinfo.Result.VisitorId;
if (refstatusid == 1 || refstatusid == 2)
{
IsIdentity = true,
IsNewEntity = true,
TableName = "bizgazecrm_visitors",
PkColumn = "visitorid",
IsExcludeFromAudit = false,
Id = 0,
};
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Already Exists");
}
if (refstatusid == 3)
{
var agreement = visitorsinfo.Result.Agreement;
visitorsinfo.Result.Agreement = agreement;
dictObj["agreement"] = true;
dictObj["visitorid"] = visitorid;
dictObj["visitoremailid"] = visitorsinfo.Result.VisitorEmailId;
dictObj["visitornumberid"] = visitorsinfo.Result.VisitorNumberId;
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,
};
var visitor = new Dictionary<string, object>();
visitor.Add("createdby", srequest.Identity.UserId);
visitor.Add("createddate", DateTime.Now);
visitor.Add("statusid", visitorsinfo.Result.StatusId);
visitor.Add("visitorid", visitorsinfo.Result.VisitorId);
visitor.Add("organizationname", visitorsinfo.Result.OrganizationName);
visitor.Add("contactid", contactid);
visitor.Add("code", visitorsinfo.Result.Code);
visitor.Add("agreement", true);
visitor.Add("visitornumberid", visitorsinfo.Result.VisitorNumberId);
visitor.Add("employeeid", employeeId);
visitor.Add("seriesid", visitorsinfo.Result.SeriesId);
visitor.Add("stageid", visitorsinfo.Result.StageId);
visitor.Add("tenantid", visitorsinfo.Result.TenantId);
visitor.Add("installedappid", visitorsinfo.Result.Installedappid);
visitor.Add("fullname", visitorsinfo.Result.FullName);
visitor.Add("futureinvitation", visitorsinfo.Result.FutureInvitation);
visitor.Add("cityid", cityId);
visitor.Add("purposeofvisit", visitorsinfo.Result.PurposeOfVisit);
visitor.Add("title", visitorsinfo.Result.Title);
visitor.Add("visitortype", visitorsinfo.Result.VisitorType);
stageStatusName = "CheckIn";
dictObj["visitorid"] = visitorid;
DateTime dates = DateTime.Now;
var installedAppId = visitorsinfo.Result.Installedappid;
var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
var NewStageId = stage.Result.StageId;
//var Updatecheckindate = new Update("bizgazecrm_visitors").Value("typeofvisitor", 1).Value("employeeid",employeeId).Value("cityid",cityId).Value("stageid", NewStageId).Value("checkindate", dates).Value("lastupdateddate", dates).Where(Exp.Eq("visitorid", visitorid));
//await _repository.ExecuteAsync(request, Updatecheckindate);
// var response = await _repository.SaveAsync(request, vistoroptions, visitor);
//visitor.Add("mobilenumber", visitorsinfo.Result.MobileNumber);
var visitor = new Dictionary<string, object>();
visitor.Add("createdby", srequest.Identity.UserId);
visitor.Add("createddate", DateTime.Now);
visitor.Add("statusid", visitorsinfo.Result.StatusId);
visitor.Add("visitorid", visitorsinfo.Result.VisitorId);
visitor.Add("organizationname", visitorsinfo.Result.OrganizationName);
visitor.Add("contactid", contactid);
visitor.Add("code", visitorsinfo.Result.Code);
visitor.Add("agreement", true);
visitor.Add("visitornumberid", visitorsinfo.Result.VisitorNumberId);
visitor.Add("employeeid", employeeId);
visitor.Add("seriesid", visitorsinfo.Result.SeriesId);
visitor.Add("stageid", visitorsinfo.Result.StageId);
visitor.Add("tenantid", visitorsinfo.Result.TenantId);
visitor.Add("installedappid", visitorsinfo.Result.Installedappid);
visitor.Add("fullname", visitorsinfo.Result.FullName);
visitor.Add("futureinvitation", visitorsinfo.Result.FutureInvitation);
visitor.Add("cityid", cityId);
visitor.Add("purposeofvisit", visitorsinfo.Result.PurposeOfVisit);
visitor.Add("title", visitorsinfo.Result.Title);
visitor.Add("visitortype", visitorsinfo.Result.VisitorType);
stageStatusName = "CheckIn";
dictObj["visitorid"] = visitorid;
DateTime dates = DateTime.Now;
var installedAppId = visitorsinfo.Result.Installedappid;
var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
var NewStageId = stage.Result.StageId;
//var Updatecheckindate = new Update("bizgazecrm_visitors").Value("typeofvisitor", 1).Value("employeeid",employeeId).Value("cityid",cityId).Value("stageid", NewStageId).Value("checkindate", dates).Value("lastupdateddate", dates).Where(Exp.Eq("visitorid", visitorid));
//await _repository.ExecuteAsync(request, Updatecheckindate);
// var response = await _repository.SaveAsync(request, vistoroptions, visitor);
//visitor.Add("mobilenumber", visitorsinfo.Result.MobileNumber);
var updateDate = new Dictionary<string, object>();
updateDate.Add("employeeid", employeeId);
updateDate.Add("cityid", cityId);
updateDate.Add("typeofvisitor",1);
updateDate.Add("stageid", NewStageId);
updateDate.Add("agreement",agreement );
updateDate.Add("lastupdateddate", dates);
updateDate.Add("purposeofvisit", purposeofvisit);
var updateQry = new Update("bizgazecrm_visitors").Values(updateDate).Where(Exp.Eq("visitorid", visitorid));
var ds = await _repository.ExecuteAsync(request, updateQry);
var updateDate = new Dictionary<string, object>();
updateDate.Add("employeeid", employeeId);
updateDate.Add("photourl", image);
updateDate.Add("cityid", cityId);
updateDate.Add("typeofvisitor", 1);
updateDate.Add("stageid", NewStageId);
updateDate.Add("agreement", agreement);
updateDate.Add("lastupdateddate", dates);
updateDate.Add("purposeofvisit", purposeofvisit);
var updateQry = new Update("bizgazecrm_visitors").Values(updateDate).Where(Exp.Eq("visitorid", visitorid));
var ds = await _repository.ExecuteAsync(request, updateQry);
var agree = await visitorManager.VisitorAgreementAsync(request, visitorid);
}
//returnresponse.Obj = visitor.ToExpandoObject();
//if (response.Status == ResponseStatus.Error)
//{
// return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
//}
var agree = await visitorManager.VisitorAgreementAsync(request, visitorid);
}
else
{
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor Not Found");
}
//returnresponse = new FormActionResponse();
//returnresponse.Obj = null;
//returnresponse.PkValue = 0;
//return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
}
else
{
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor Not Found");
}
//returnresponse = new FormActionResponse();
//returnresponse.Obj = null;
//returnresponse.PkValue = 0;
//return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
returnresponse.PkValue = defaultPKValue;
return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
}
public List<UniqueKey> AppliedApps
{