From ee7a5cae0619c4a02b42b6e63e75d87b32715dea Mon Sep 17 00:00:00 2001 From: Shanmukh Date: Mon, 4 Sep 2023 15:52:09 +0530 Subject: [PATCH] FeedBackPostActionProvider.cs changes --- .../FeedBackPostActionProvider.cs | 63 +++---------------- 1 file changed, 8 insertions(+), 55 deletions(-) diff --git a/CRM.Visitors/ActionProviders/FeedBackPostActionProvider.cs b/CRM.Visitors/ActionProviders/FeedBackPostActionProvider.cs index fc5d1fa..856a85f 100644 --- a/CRM.Visitors/ActionProviders/FeedBackPostActionProvider.cs +++ b/CRM.Visitors/ActionProviders/FeedBackPostActionProvider.cs @@ -1,4 +1,5 @@ using Bizgaze.CRM; +using Bizgaze.CRM.Visitors.Infos; using System; using System.Collections.Generic; using System.Dynamic; @@ -55,11 +56,7 @@ namespace CRM.Visitors.ActionProviders return (int)Unibase.Platform.Forms.Enums.FormActionProvider.PostAction; } } - //public ActionResponse Execute(ActionRequest request, object IdValue, ExpandoObject obj, List docParametersList, ref long defaultPKValue) - //{ - // return null; - - //} + public async Task> ExecuteAsync(ActionRequest request, FormActionProviderObject providerObject) { using (var requestTrans = await request.BeginTransactionAsync()) @@ -74,57 +71,13 @@ namespace CRM.Visitors.ActionProviders var visitorManager = Unibase.Dependency.DependencyConfig.Resolve(); 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); - List docParameters = dictObj["DocParameters"]; + List docParameters = dictObj["DocParameters"]; + var updateinfo = docParameters.Find(y => y.DocType == "bizgazecrm_visitors"); + var visitorid = updateinfo.Parameters["visitorid"]; + var date = DateTime.Now; + var UpdateStage = new Update("bizgazecrm_visitors").Value("lastupdateddate", date).Where(Exp.Eq("visitorid", visitorid)); + await _repository.ExecuteAsync(request, UpdateStage); 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.Result != null) - { - var visitorId = Convert.ToInt64(visitorInfo.Result.VisitorId); - 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 = null; returnresponse.PkValue = 0;