diff --git a/CRM.Visitors/ActionProviders/FeedBackPostActionProvider.cs b/CRM.Visitors/ActionProviders/FeedBackPostActionProvider.cs
index 160d5b0..fc5d1fa 100644
--- a/CRM.Visitors/ActionProviders/FeedBackPostActionProvider.cs
+++ b/CRM.Visitors/ActionProviders/FeedBackPostActionProvider.cs
@@ -33,9 +33,7 @@ namespace CRM.Visitors.ActionProviders
{
return "FeedBack";
}
- }///
- /// test 123
- ///
+ }
public string Description
{
get
@@ -74,66 +72,62 @@ namespace CRM.Visitors.ActionProviders
var defaultPKValue = providerObject.DefaultPKValue;
var stageManager = Unibase.Dependency.DependencyConfig.Resolve();
var visitorManager = Unibase.Dependency.DependencyConfig.Resolve();
- var dictObj = obj as IDictionary;
+ var dictObj = obj as IDictionary;
var connection = GetConnection(request);
ExpandoObject obj1 = dictObj["RequestObj"];
var req = obj1 as IDictionary;
var code = Convert.ChangeType(req["uniqueid"].ToString(), typeof(object)).ToString();
var feedBackJson = Convert.ChangeType(req["feedbackrating"].ToString(), typeof(object)).ToString();
- var feedBackObj = JsonSerializer.Deserialize(feedBackJson);
+ var feedBackObj = JsonSerializer.Deserialize(feedBackJson);
+ List docParameters = dictObj["DocParameters"];
+ var checkinfo = docParameters.Find(x => x.DocType == "bizgazecrm_visitorcheckout");
+ var visitorcheckoutId= checkinfo.Parameters["visitorcheckoutid"].ToString();
var comments = feedBackObj.Comments;
var rating = feedBackObj.Rating;
var visitorInfo = await visitorManager.GetpreVisitorsAsync(srequest, code);
- if (visitorInfo != null)
+
+ if (visitorInfo.Result != null)
{
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);
- List param = new List();
- param.Add(new Parameter("@bizgazecrm_visitors.visitorid", visitorId));
- var dt = await GetDataTableAsync(srequest, sql, param);
- var stageStatusName = "";
- if (dt.Rows.Count > 0)
- {
- stageStatusName = "CheckOut";
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- var installedAppId = Convert.ToInt64(dt.Rows[i]["installedAppId"]);
- var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
- var NewStageId = stage.Result.StageId;
- var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorId));
- await _repository.ExecuteAsync(request, UpdateStage);
- }
- var options = new EntityOptions()
- {
- IsIdentity = true,
- IsNewEntity = true,
- TableName = "bizgazecrm_visitorcheckout",
- PkColumn = "visitorcheckoutid",
- IsExcludeFromAudit = false,
- Id = 0,
- };
- dynamic visitor = new Dictionary();
- visitor.Add("createdby", srequest.Identity.UserId);
- visitor.Add("createddate", DateTime.Now);
- visitor.Add("checkoutdate", DateTime.Now);
- visitor.Add("comments", comments);
- visitor.Add("rating", Convert.ToInt32(rating));
- visitor.Add("versionguid", Guid.NewGuid());
- 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.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
- }
- }
+ var stageStatusName = "CheckOut";
+ var installedAppId = Convert.ToInt64(visitorInfo.Result.Installedappid);
+ var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
+ var NewStageId = stage.Result.StageId;
+ var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorId));
+ await _repository.ExecuteAsync(request, UpdateStage);
+ var vistoroptions = new EntityOptions()
+ {
+ IsIdentity = false,
+ IsNewEntity = false,
+ TableName = "bizgazecrm_visitorcheckout",
+ PkColumn = "visitorcheckoutid",
+ IsExcludeFromAudit = false,
+ Id =Convert.ToInt64(visitorcheckoutId),
+ };
+ dynamic visitor = new Dictionary();
+ visitor.Add("visitorcheckoutid", Convert.ToInt64(visitorcheckoutId));
+ visitor.Add("createdby", srequest.Identity.UserId);
+ visitor.Add("createddate", DateTime.Now);
+ visitor.Add("checkoutdate", DateTime.Now);
+ visitor.Add("checkindate", visitorInfo.Result.CheckInDate);
+ visitor.Add("comments", comments);
+ visitor.Add("rating", Convert.ToInt32(rating));
+ visitor.Add("versionguid", Guid.NewGuid());
+ visitor.Add("uniqueid", code);
+ visitor.Add("statusid", (int)RowStatus.Active);
+ visitor.Add("installedappid", visitorInfo.Result.Installedappid);
+ visitor.Add("visitorid", visitorId);
+ var responses = await _repository.SaveAsync(request, vistoroptions, visitor);
+ if (responses.Status == ResponseStatus.Error)
+ {
+ if (requestTrans.StartedLocal) await request.RollbackTransactionAsync();
+ return ActionResponse.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
+ }
+
}
var returnresponse = new FormActionResponse();
- returnresponse.Obj = dictObj as ExpandoObject;
- returnresponse.PkValue = defaultPKValue;
+ returnresponse.Obj = null;
+ returnresponse.PkValue = 0;
return ActionResponse.CreateSuccessResponse("success", returnresponse);
}
}