public IHttpActionResult PostOnBoardingService(SubSiteOnBoardingDTO oDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = SubSiteConfigService.OnBoardingServiceSave(oDto); if (result == Guid.Empty) { return(NotFound()); } return(Ok(result)); }
/// <summary> /// This method is used to Save the main office details /// </summary> /// <param name="dto"></param> /// <returns></returns> public Guid OnBoardingServiceSave(SubSiteOnBoardingDTO dto) { int entityState = 0; SubSiteConfiguration model = new SubSiteConfiguration(); if (dto != null) { Guid Id, refId; bool IsRefId = Guid.TryParse(dto.refId, out refId); if (!IsRefId) { return(Guid.Empty); } if (Guid.TryParse(dto.Id, out Id)) { model = db.SubSiteConfigurations.Where(a => a.ID == Id).FirstOrDefault(); if (model.IsuTaxManageingEnrolling != null && model.IsuTaxCustomerSupport != null) { Guid SiteMapId; int EntityType = 0; if (Guid.TryParse("68882c05-5914-4fdb-b284-e33d6c029f5a", out SiteMapId)) { CustomerConfigurationStatu ConfigStatusModel = new CustomerConfigurationStatu(); ConfigStatusModel = db.CustomerConfigurationStatus.Where(o => o.CustomerId == refId && o.SitemapId == SiteMapId).FirstOrDefault(); if (ConfigStatusModel == null) { ConfigStatusModel = new CustomerConfigurationStatu(); ConfigStatusModel.Id = Guid.NewGuid(); } else { EntityType = (int)System.Data.Entity.EntityState.Modified; } ConfigStatusModel.CustomerId = refId; ConfigStatusModel.SitemapId = SiteMapId; ConfigStatusModel.StatusCode = "done"; ConfigStatusModel.UpdatedBy = dto.UserId ?? Guid.Empty; ConfigStatusModel.UpdatedDate = DateTime.Now; if (EntityType == (int)System.Data.Entity.EntityState.Modified) { db.Entry(ConfigStatusModel).State = System.Data.Entity.EntityState.Modified; } else { db.CustomerConfigurationStatus.Add(ConfigStatusModel); } } } if (model != null) { entityState = (int)System.Data.Entity.EntityState.Modified; } else { return(Guid.Empty); } } else { model.ID = Guid.NewGuid(); entityState = (int)System.Data.Entity.EntityState.Added; } model.emp_CustomerInformation_ID = refId; // newguid; if (dto.IsuTaxManageOnboarding != null) { model.IsuTaxManageOnboarding = dto.IsuTaxManageOnboarding.Value; } model.StatusCode = EMPConstants.Active; model.LastUpdatedBy = dto.UserId ?? Guid.Empty; model.LastUpdatedDate = System.DateTime.Now; if (entityState == (int)System.Data.Entity.EntityState.Added) { model.CreatedBy = dto.UserId ?? Guid.Empty; model.CreatedDate = System.DateTime.Now; db.SubSiteConfigurations.Add(model); } else { db.Entry(model).State = System.Data.Entity.EntityState.Modified; } var custinfo = (from s in db.emp_CustomerInformation join sy in db.SalesYearMasters on s.SalesYearID equals sy.Id where s.Id == refId select new { s.IsMSOUser, s.SalesforceAccountID, sy.SalesYear }).FirstOrDefault(); CustomerInformation.CustomerInformationService objCIS = new CustomerInformation.CustomerInformationService(); string desc = (custinfo.IsMSOUser ?? false) ? "Automated MSO " + custinfo.SalesYear ?? 0 + " Onboarding Case " : "Automated Desktop " + custinfo.SalesYear ?? 0 + " Onboarding Case"; var caseId = objCIS.SaveCSRCase(custinfo.SalesforceAccountID, (custinfo.SalesYear ?? 0).ToString(), dto.IsuTaxManageOnboarding ?? false, desc); var cinfo = db.emp_CustomerInformation.Where(x => x.Id == refId).FirstOrDefault(); cinfo.OnBoardPrimaryKey = caseId; } try { db.SaveChanges(); db.Dispose(); return(model.ID); } catch (Exception ex) { EMPPortal.Core.Utilities.ExceptionLogger.LogException(ex.ToString(), "SubSiteConfigService/OnBoardingServiceSave", Guid.Empty); return(Guid.Empty); throw; } }