UpdateVisitorBeenHerePreAction.cs changes

This commit is contained in:
2023-09-14 14:29:20 +05:30
rodzic ef661554f8
commit 9a3081a40c
@@ -1,6 +1,7 @@
using Bizgaze.CRM;
using Bizgaze.CRM.Visitors.Infos;
using Bizgaze.CRM.Visitors.Managers;
using MongoDB.Bson;
using System;
using System.Collections.Generic;
using System.Dynamic;
@@ -17,6 +18,7 @@ using Unibase.Platform.Data;
using Unibase.Platform.Forms.Providers;
using Unibase.Platform.Keys;
using Unibase.Platform.Tenants.Localization;
using System.Text.Json;
namespace Bizgaze.CRM.Visitors.ActionProviders
{
@@ -68,6 +70,7 @@ 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 visitorItems = dictObj.ContainsKey("VisitorItems") ? dictObj["VisitorItems"] : null;
var MobileNumber = dictObj["mobilenumber"].ToString();
var employeeId = Convert.ChangeType(dictObj["employeeid"].ToString(), typeof(long));
var cityId = Convert.ChangeType(dictObj["cityid"].ToString(), typeof(long));
@@ -91,7 +94,6 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
stageStatusName = "CheckIn";
}
var code = visitorsinfo.Result.Code;
var agreement = visitorsinfo.Result.Agreement;
visitorsinfo.Result.Agreement = agreement;
dictObj["agreement"] = true;
@@ -114,7 +116,6 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
IsExcludeFromAudit = false,
Id = 0,
};
dynamic visitor = new Dictionary<string, object>();
visitor.Add("createdby", srequest.Identity.UserId);
visitor.Add("createddate", DateTime.Now);
@@ -125,24 +126,22 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
visitor.Add("contactid", contactid);
visitor.Add("code", visitorsinfo.Result.Code);
visitor.Add("agreement", true);
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("employeeid", employeeId);
visitor.Add("cityid", cityId);
visitor.Add("purposeofvisit", purposeofvisit);
visitor.Add("title", visitorsinfo.Result.Title);
visitor.Add("visitortype", visitorsinfo.Result.VisitorType);
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());
var vistoroptions1 = new EntityOptions()
{
@@ -169,10 +168,37 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
var response1 = await _repository.SaveAsync(request, vistoroptions1, visitor1);
if (response1.Status == ResponseStatus.Error)
{
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
}
if (dictObj.ContainsKey("VisitorItems"))
{
var Items = Convert.ChangeType(dictObj["VisitorItems"].ToString(), typeof(object)).ToString();
var deserializeObj = System.Text.Json.JsonSerializer.Deserialize<List<Dictionary<string, object>>>(Items);
var visitoritem = deserializeObj[0]["visitoritemname"].ToString();
var serial = deserializeObj[0]["serialnumber"].ToString();
var quantity = Convert.ToInt64(deserializeObj[0]["quantity"].ToString());
var brand = deserializeObj[0]["brand"].ToString();
var vistoroptions2 = new EntityOptions()
{
IsIdentity = true,
IsNewEntity = true,
TableName = "bizgazecrm_visitoritems",
PkColumn = "visitoritemid",
IsExcludeFromAudit = false,
Id = 0,
};
dynamic visitor2 = new Dictionary<string, object>();
visitor2.Add("visitorid", _visitorId);
visitor2.Add("visitoritemname", visitoritem);
visitor2.Add("quantity", quantity);
visitor2.Add("brand", brand);
visitor2.Add("serialnumber", serial);
var response2 = await _repository.SaveAsync(request, vistoroptions2, visitor2);
if (response2.Status == ResponseStatus.Error)
{
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
}
}
var lastdate = visitorsinfo.Result.LastUpdatedDate;
visitorsinfo.Result.LastUpdatedDate = DateTime.Now;
var installedAppId = visitorsinfo.Result.Installedappid;
@@ -186,8 +212,6 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
{
return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor Not Found");
}
returnresponse = new FormActionResponse();
returnresponse.Obj = dictObj as ExpandoObject;
returnresponse.PkValue = defaultPKValue;
return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
}
@@ -200,7 +224,6 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
};
}
}
}
}