diff --git a/CRM.Visitors/ActionProviders/VisitorPreInvitePreAction.cs b/CRM.Visitors/ActionProviders/VisitorPreInvitePreAction.cs index cf7c0f2..484bde5 100644 --- a/CRM.Visitors/ActionProviders/VisitorPreInvitePreAction.cs +++ b/CRM.Visitors/ActionProviders/VisitorPreInvitePreAction.cs @@ -69,116 +69,117 @@ namespace Bizgaze.CRM.Visitors.ActionProviders var stageManager = Unibase.Dependency.DependencyConfig.Resolve(); var visitorManager = Unibase.Dependency.DependencyConfig.Resolve(); var dictObj = obj as IDictionary; - 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; + var CaptureImageObj = Convert.ChangeType(dictObj["Captureimage"].ToString(), typeof(object)).ToString(); + var deserializeimagesObj = JsonSerializer.Deserialize>(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; + 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.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(); - 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.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(); + 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(); - 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(); + 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(); - 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(); + 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.CreateErrorResponse("1", "Visitor Check Out Data Not Saved"); - //} - var agree = await visitorManager.VisitorAgreementAsync(request, visitorid); - } - + else + { + return ActionResponse.CreateErrorResponse("1", "visitor Not Found"); + } + //returnresponse = new FormActionResponse(); + //returnresponse.Obj = null; + //returnresponse.PkValue = 0; + //return ActionResponse.CreateSuccessResponse("success", returnresponse); } - else - { - return ActionResponse.CreateErrorResponse("1", "visitor Not Found"); - } - //returnresponse = new FormActionResponse(); - //returnresponse.Obj = null; - //returnresponse.PkValue = 0; - //return ActionResponse.CreateSuccessResponse("success", returnresponse); - returnresponse.PkValue = defaultPKValue; return ActionResponse.CreateSuccessResponse("success", returnresponse); - + } public List AppliedApps {