public IHttpActionResult PostBankService(SubSiteBankServiceDTO oDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = SubSiteConfigService.BankServiceSave(oDto);

            if (result == Guid.Empty)
            {
                return(NotFound());
            }


            return(Ok(result));
        }
示例#2
0
        /// <summary>
        /// This method is used to Save the main office details
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public Guid BankServiceSave(SubSiteBankServiceDTO 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.IsuTaxManageOnboarding != 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  = dto.UserId ?? Guid.Empty;
                            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.IsuTaxManageingEnrolling != null)
                {
                    model.IsuTaxManageingEnrolling = dto.IsuTaxManageingEnrolling.Value;
                }

                if (dto.IsuTaxPortalEnrollment != null)
                {
                    model.IsuTaxPortalEnrollment = dto.IsuTaxPortalEnrollment.Value;
                }


                if (dto.IsSubSiteEFINAllow != null)
                {
                    model.IsSubSiteEFINAllow = dto.IsSubSiteEFINAllow.Value;
                }
                else
                {
                    model.IsSubSiteEFINAllow = false;
                }


                model.EnrollmentEmails     = dto.EnrollmentEmails;
                model.CanSubSiteLoginToEmp = true;

                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 Bank = db.SubSiteBankConfigs.Where(o => o.SubSiteConfiguration_ID == model.ID).ToList();

                    if (Bank.ToList().Count > 0)
                    {
                        db.SubSiteBankConfigs.RemoveRange(Bank);
                    }
                }

                List <SubSiteBankConfig> SubSiteBankConfigs = new List <SubSiteBankConfig>();

                foreach (var item in dto.SubSiteBankQuestions)
                {
                    SubSiteBankConfig SubSiteBank = new SubSiteBankConfig();
                    SubSiteBank.ID = Guid.NewGuid();
                    SubSiteBank.emp_CustomerInformation_ID = model.emp_CustomerInformation_ID;
                    SubSiteBank.BankMaster_ID           = item.BankId;
                    SubSiteBank.SubSiteConfiguration_ID = model.ID;
                    SubSiteBank.SubQuestion_ID          = item.QuestionId;

                    SubSiteBank.CreatedBy       = dto.UserId ?? Guid.Empty;
                    SubSiteBank.CreatedDate     = DateTime.Now;
                    SubSiteBank.LastUpdatedBy   = dto.UserId ?? Guid.Empty;
                    SubSiteBank.LastUpdatedDate = DateTime.Now;

                    SubSiteBankConfigs.Add(SubSiteBank);
                }

                if (dto.SubSiteBankQuestions.ToList().Count > 0)
                {
                    db.SubSiteBankConfigs.AddRange(SubSiteBankConfigs);
                }

                if (dto.IsuTaxManageingEnrolling ?? false)
                {
                    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 + " Enrollment Case " : "Automated Desktop " + custinfo.SalesYear ?? 0 + " Enrollment Case";
                    objCIS.SaveCSRCase(custinfo.SalesforceAccountID, (custinfo.SalesYear ?? 0).ToString(), true, desc, false);
                }
            }
            try
            {
                db.SaveChanges();
                db.Dispose();
                return(model.ID);
            }
            catch (Exception ex)
            {
                EMPPortal.Core.Utilities.ExceptionLogger.LogException(ex.ToString(), "SubSiteConfigService/BankServiceSave", model.ID);
                return(Guid.Empty);

                throw;
            }
        }