diff --git a/CRM.Visitors/ActionProviders/VisitorStageChangeAndUpDateContacts.cs b/CRM.Visitors/ActionProviders/VisitorStageChangeAndUpDateContacts.cs index 7822353..aca3672 100644 --- a/CRM.Visitors/ActionProviders/VisitorStageChangeAndUpDateContacts.cs +++ b/CRM.Visitors/ActionProviders/VisitorStageChangeAndUpDateContacts.cs @@ -90,6 +90,7 @@ namespace Bizgaze.CRM.Visitors.ActionProviders long installedAppId = 0; var stageStatusName = ""; var code = ""; + var typeofvisitor = Convert.ToInt64(visitorInfo.Parameters["typeofvisitor"]); code = visitorInfo.Parameters["code"].ToString(); var visitorIds = Convert.ToInt64(visitorInfo.Parameters["visitorid"]); var sel1 = new Unibase.Data.Sql.Select("bizgazecrm_visitors").AllColumns().Where("visitorid", visitorIds); @@ -98,125 +99,123 @@ namespace Bizgaze.CRM.Visitors.ActionProviders var dt1 = await GetDataTableAsync(srequest, sel1, param); var tenantid = Convert.ToInt32(dt1.Rows[0]["tenantid"]); var _SeriesId = Convert.ToInt64(visitorInfo.Parameters["seriesid"]); - var CapturePhotoObj = Convert.ChangeType(req["CapturePhoto1"].ToString(), typeof(object)).ToString(); - var deserializeJEntriesObj = JsonSerializer.Deserialize>(CapturePhotoObj); - for (var k = 0; k < deserializeJEntriesObj.Count; k++) - { - var data1 = deserializeJEntriesObj[k]; - var CapturePhotoData = data1 as IDictionary; - var image = Convert.ChangeType(CapturePhotoData["image"].ToString(), typeof(string)).ToString(); - //var visitorType = Convert.ToInt64(visitorInfo.Parameters["visitortype"]); - var typeofvisitor = Convert.ToInt64(visitorInfo.Parameters["typeofvisitor"]); - installedAppId = Convert.ToInt64(visitorInfo.Parameters["installedappid"]); + installedAppId = Convert.ToInt64(visitorInfo.Parameters["installedappid"]); var visitordata = await visitorManager.GetVisitorByIdAsync(srequest, visitorIds); var _seriesManager = Unibase.Dependency.DependencyConfig.Resolve(); if (visitordata.Result != null) { - if (typeofvisitor == 1) + if (typeofvisitor == 1) + { + stageStatusName = "CheckIn"; + var CapturePhotoObj = Convert.ChangeType(req["CapturePhoto1"].ToString(), typeof(object)).ToString(); + var deserializeJEntriesObj = JsonSerializer.Deserialize>(CapturePhotoObj); + for (var k = 0; k < deserializeJEntriesObj.Count; k++) { - stageStatusName = "CheckIn"; + var data1 = deserializeJEntriesObj[k]; + var CapturePhotoData = data1 as IDictionary; + var image = Convert.ChangeType(CapturePhotoData["image"].ToString(), typeof(string)).ToString(); + + //string[] Ocode = { }; + //Ocode.Append(code); + //string[] resultarray = Array.FindAll(Ocode, element => element == "-"); + //if (resultarray.Length > 1) + //{ + // if (_SeriesId != 0) + // { + // var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now); + // if (SeriesCodeInfo.Status == ResponseStatus.Error) + // { + // if (requestTrans.StartedLocal) await request.RollbackTransactionAsync(); + // return ActionResponse.CreateErrorResponse("1", SeriesCodeInfo.Message); + // } + // else + // { + // _code = SeriesCodeInfo.Result.SeriesCode; + // } + // } - //string[] Ocode = { }; - //Ocode.Append(code); - //string[] resultarray = Array.FindAll(Ocode, element => element == "-"); - //if (resultarray.Length > 1) - //{ - // if (_SeriesId != 0) - // { - // var SeriesCodeInfo = await _seriesManager.GenerateSeriesCodeForQueueAsync(request, _SeriesId, DateTime.Now); - // if (SeriesCodeInfo.Status == ResponseStatus.Error) - // { - // if (requestTrans.StartedLocal) await request.RollbackTransactionAsync(); - // return ActionResponse.CreateErrorResponse("1", SeriesCodeInfo.Message); - // } - // else - // { - // _code = SeriesCodeInfo.Result.SeriesCode; - // } - // } - - //} - //else - //{ - // _code = code; - //} - mobileNumber = visitordata.Result.MobileNumber; - emailId = visitordata.Result.EmailId; - visitorName = visitordata.Result.FullName; - photourl = visitordata.Result.PhotoUrl; - var stages = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName); - var NewStageIds = stages.Result.StageId; - var UpdateStages = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds)); - await _repository.ExecuteAsync(request, UpdateStages); - var visitorTypeid = visitordata.Result.VisitorType; - - var typeofvisitorid = visitordata.Result.TypeofVisitor; - var options1 = new EntityOptions() - { - IsIdentity = true, - IsNewEntity = true, - TableName = "unibasecmn_users", - PkColumn = "userid", - IsExcludeFromAudit = false, - Id = 0, - }; - dynamic visitorparameters1 = new Dictionary(); - visitorparameters1.Add("username", visitorName); - visitorparameters1.Add("createdby", srequest.Identity.UserId); - visitorparameters1.Add("tenantid", tenantid); - visitorparameters1.Add("createddate", DateTime.Now); - visitorparameters1.Add("versionguid", Guid.NewGuid()); - visitorparameters1.Add("statusid", (int)RowStatus.Active); - visitorparameters1.Add("installedappid", installedAppId); - visitorparameters1.Add("phonenumber", mobileNumber); - visitorparameters1.Add("emailaddress", emailId); - var responses = await _repository.SaveAsync(request, options1, visitorparameters1); - if (responses.Status == ResponseStatus.Error) - { - if (requestTrans.StartedLocal) await request.RollbackTransactionAsync(); - return ActionResponse.CreateErrorResponse("1", "user Are Not Saved"); - } - else - { - using (var requestTrans1 = await request.BeginTransactionAsync()) - { - Int64 userid = 0; - { - var data = responses.Result as Dictionary; - userid = Convert.ToInt64(data["_Id"]); - } - var options = new EntityOptions() - { - IsIdentity = false, - IsNewEntity = true, - TableName = "bizgazecrm_contacts", - PkColumn = "contactid", - IsExcludeFromAudit = false, - Id = 0, - }; - dynamic contactparameters = new Dictionary(); - contactparameters.Add("contactid", userid); - contactparameters.Add("contactname", visitorName); - contactparameters.Add("createdby", srequest.Identity.UserId); - contactparameters.Add("createddate", DateTime.Now); - contactparameters.Add("versionguid", Guid.NewGuid()); - contactparameters.Add("statusid", (int)RowStatus.Active); - contactparameters.Add("installedappid", installedAppId); - var response = await _repository.SaveAsync(request, options, contactparameters); - if (response.Status == ResponseStatus.Error) - { - if (requestTrans.StartedLocal) await request.RollbackTransactionAsync(); - return ActionResponse.CreateErrorResponse("1", "Contacts Are Not Saved"); - } - var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", code).Where(Exp.Eq("visitorid", visitorIds)); - await _repository.ExecuteAsync(request, update); - } - } + //} + //else + //{ + // _code = code; + //} + mobileNumber = visitordata.Result.MobileNumber; + emailId = visitordata.Result.EmailId; + visitorName = visitordata.Result.FullName; + photourl = visitordata.Result.PhotoUrl; + var stages = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName); + var NewStageIds = stages.Result.StageId; + var UpdateStages = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("stageid", NewStageIds).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds)); + await _repository.ExecuteAsync(request, UpdateStages); + var visitorTypeid = visitordata.Result.VisitorType; + var typeofvisitorid = visitordata.Result.TypeofVisitor; + var options1 = new EntityOptions() + { + IsIdentity = true, + IsNewEntity = true, + TableName = "unibasecmn_users", + PkColumn = "userid", + IsExcludeFromAudit = false, + Id = 0, + }; + dynamic visitorparameters1 = new Dictionary(); + visitorparameters1.Add("username", visitorName); + visitorparameters1.Add("createdby", srequest.Identity.UserId); + visitorparameters1.Add("tenantid", tenantid); + visitorparameters1.Add("createddate", DateTime.Now); + visitorparameters1.Add("versionguid", Guid.NewGuid()); + visitorparameters1.Add("statusid", (int)RowStatus.Active); + visitorparameters1.Add("installedappid", installedAppId); + visitorparameters1.Add("phonenumber", mobileNumber); + visitorparameters1.Add("emailaddress", emailId); + var responses = await _repository.SaveAsync(request, options1, visitorparameters1); + if (responses.Status == ResponseStatus.Error) + { + if (requestTrans.StartedLocal) await request.RollbackTransactionAsync(); + return ActionResponse.CreateErrorResponse("1", "user Are Not Saved"); } else { - var UpdateStages1 = new Update("bizgazecrm_visitors").Value("photourl", image).Value("agreement", true).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds)); + using (var requestTrans1 = await request.BeginTransactionAsync()) + { + Int64 userid = 0; + { + var data = responses.Result as Dictionary; + userid = Convert.ToInt64(data["_Id"]); + } + var options = new EntityOptions() + { + IsIdentity = false, + IsNewEntity = true, + TableName = "bizgazecrm_contacts", + PkColumn = "contactid", + IsExcludeFromAudit = false, + Id = 0, + }; + dynamic contactparameters = new Dictionary(); + contactparameters.Add("contactid", userid); + contactparameters.Add("contactname", visitorName); + contactparameters.Add("createdby", srequest.Identity.UserId); + contactparameters.Add("createddate", DateTime.Now); + contactparameters.Add("versionguid", Guid.NewGuid()); + contactparameters.Add("statusid", (int)RowStatus.Active); + contactparameters.Add("installedappid", installedAppId); + var response = await _repository.SaveAsync(request, options, contactparameters); + if (response.Status == ResponseStatus.Error) + { + if (requestTrans.StartedLocal) await request.RollbackTransactionAsync(); + return ActionResponse.CreateErrorResponse("1", "Contacts Are Not Saved"); + } + var update = new Update("bizgazecrm_visitors").Value("contactid", userid).Value("code", code).Where(Exp.Eq("visitorid", visitorIds)); + await _repository.ExecuteAsync(request, update); + } + } + } + } + else + { + var UpdateStages1 = new Update("bizgazecrm_visitors").Value("agreement", true).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorIds)); await _repository.ExecuteAsync(request, UpdateStages1); @@ -355,7 +354,7 @@ namespace Bizgaze.CRM.Visitors.ActionProviders } - } + } var returnresponse = new FormActionResponse(); returnresponse.Obj = dictObj as ExpandoObject;