6
0

modifications made for duplicate data in checkout

Esse commit está contido em:
2023-03-15 15:01:21 +05:30
commit ceac275279
@@ -33,9 +33,7 @@ namespace CRM.Visitors.ActionProviders
{ {
return "FeedBack"; return "FeedBack";
} }
}/// <summary> }
/// test 123
/// </summary>
public string Description public string Description
{ {
get get
@@ -80,60 +78,56 @@ namespace CRM.Visitors.ActionProviders
var req = obj1 as IDictionary<string, object>; var req = obj1 as IDictionary<string, object>;
var code = Convert.ChangeType(req["uniqueid"].ToString(), typeof(object)).ToString(); var code = Convert.ChangeType(req["uniqueid"].ToString(), typeof(object)).ToString();
var feedBackJson = Convert.ChangeType(req["feedbackrating"].ToString(), typeof(object)).ToString(); var feedBackJson = Convert.ChangeType(req["feedbackrating"].ToString(), typeof(object)).ToString();
var feedBackObj = JsonSerializer.Deserialize<Request.VisitorRequest>(feedBackJson); var feedBackObj = JsonSerializer.Deserialize<Request.VisitorRequest>(feedBackJson);
List<Unibase.Platform.Forms.Requests.DocParameter> docParameters = dictObj["DocParameters"];
var checkinfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitorcheckout");
var visitorcheckoutId= checkinfo.Parameters["visitorcheckoutid"].ToString();
var comments = feedBackObj.Comments; var comments = feedBackObj.Comments;
var rating = feedBackObj.Rating; var rating = feedBackObj.Rating;
var visitorInfo = await visitorManager.GetpreVisitorsAsync(srequest, code); var visitorInfo = await visitorManager.GetpreVisitorsAsync(srequest, code);
if (visitorInfo != null)
if (visitorInfo.Result != null)
{ {
var visitorId = Convert.ToInt64(visitorInfo.Result.VisitorId); var visitorId = Convert.ToInt64(visitorInfo.Result.VisitorId);
var sql = new Unibase.Data.Sql.Select("bizgazecrm_visitors").Columns("bizgazecrm_visitors.installedappid", "bizgazecrm_visitors.fullname", "bizgazecrm_visitors.mobilenumber", "bizgazecrm_visitors.emailid", "bizgazecrm_visitors.photourl", "unibase_stagestatus.stageStatusName", "unibase_stagestatus.RefStatusId").InnerJoin("unibase_stages", Exp.EqColumns("unibase_stages.stageid", "bizgazecrm_visitors.stageid")).InnerJoin("unibase_stagestatus", Exp.EqColumns("unibase_stagestatus.stagestatusid", "unibase_stages.stagestatusid")).Where("bizgazecrm_visitors.visitorid", visitorId); var stageStatusName = "CheckOut";
List<Parameter> param = new List<Parameter>(); var installedAppId = Convert.ToInt64(visitorInfo.Result.Installedappid);
param.Add(new Parameter("@bizgazecrm_visitors.visitorid", visitorId)); var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
var dt = await GetDataTableAsync(srequest, sql, param); var NewStageId = stage.Result.StageId;
var stageStatusName = ""; var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorId));
if (dt.Rows.Count > 0) await _repository.ExecuteAsync(request, UpdateStage);
var vistoroptions = new EntityOptions()
{ {
stageStatusName = "CheckOut"; IsIdentity = false,
for (int i = 0; i < dt.Rows.Count; i++) IsNewEntity = false,
{ TableName = "bizgazecrm_visitorcheckout",
var installedAppId = Convert.ToInt64(dt.Rows[i]["installedAppId"]); PkColumn = "visitorcheckoutid",
var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName); IsExcludeFromAudit = false,
var NewStageId = stage.Result.StageId; Id =Convert.ToInt64(visitorcheckoutId),
var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorId)); };
await _repository.ExecuteAsync(request, UpdateStage); dynamic visitor = new Dictionary<string, object>();
} visitor.Add("visitorcheckoutid", Convert.ToInt64(visitorcheckoutId));
var options = new EntityOptions() visitor.Add("createdby", srequest.Identity.UserId);
{ visitor.Add("createddate", DateTime.Now);
IsIdentity = true, visitor.Add("checkoutdate", DateTime.Now);
IsNewEntity = true, visitor.Add("checkindate", visitorInfo.Result.CheckInDate);
TableName = "bizgazecrm_visitorcheckout", visitor.Add("comments", comments);
PkColumn = "visitorcheckoutid", visitor.Add("rating", Convert.ToInt32(rating));
IsExcludeFromAudit = false, visitor.Add("versionguid", Guid.NewGuid());
Id = 0, visitor.Add("uniqueid", code);
}; visitor.Add("statusid", (int)RowStatus.Active);
dynamic visitor = new Dictionary<string, object>(); visitor.Add("installedappid", visitorInfo.Result.Installedappid);
visitor.Add("createdby", srequest.Identity.UserId); visitor.Add("visitorid", visitorId);
visitor.Add("createddate", DateTime.Now); var responses = await _repository.SaveAsync(request, vistoroptions, visitor);
visitor.Add("checkoutdate", DateTime.Now); if (responses.Status == ResponseStatus.Error)
visitor.Add("comments", comments); {
visitor.Add("rating", Convert.ToInt32(rating)); if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
visitor.Add("versionguid", Guid.NewGuid()); return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
visitor.Add("uniqueid", code);
visitor.Add("statusid", (int)RowStatus.Active);
visitor.Add("installedappid", visitorInfo.Result.Installedappid);
visitor.Add("visitorid", visitorInfo.Result.VisitorId);
var responses = await _repository.SaveAsync(request, options, visitor);
if (responses.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 = null;
returnresponse.PkValue = defaultPKValue; returnresponse.PkValue = 0;
return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse); return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
} }
} }