public IHttpActionResult PostSubSiteFees(SubSiteFeesDTO oDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Guid UserId; if (!Guid.TryParse(oDto.UserId.ToString(), out UserId)) { return(StatusCode(HttpStatusCode.NotAcceptable)); } Guid GRefId; if (!Guid.TryParse(oDto.refId.ToString(), out GRefId)) { return(StatusCode(HttpStatusCode.NotAcceptable)); } var result = subsitefeeService.Save(oDto); return(Ok(result)); }
/// <summary> /// This method is used to Save the main office details /// </summary> /// <param name="dto"></param> /// <returns></returns> public int Save(SubSiteFeesDTO dto) { int entityState = 0; int iretval = 0; List <SubSiteFeeConfig> subsitefeeconfigs = new List <SubSiteFeeConfig>(); try { if (dto != null) { Guid newguid2 = Guid.NewGuid(); bool IsRefId = Guid.TryParse(dto.refId, out newguid2); if (IsRefId) { var SubSiteFeeConfig = db.SubSiteFeeConfigs.Where(o => o.emp_CustomerInformation_ID == newguid2).ToList(); if (SubSiteFeeConfig.Count() > 0) { db.SubSiteFeeConfigs.RemoveRange(SubSiteFeeConfig); db.SaveChanges(); } var subsiteBankFeeconfig = db.SubSiteBankFeesConfigs.Where(o => o.emp_CustomerInformation_ID == newguid2).ToList(); if (subsiteBankFeeconfig.Count() > 0) { db.SubSiteBankFeesConfigs.RemoveRange(subsiteBankFeeconfig); db.SaveChanges(); } } foreach (var item in dto.SubsiteFees) { SubSiteFeeConfig subsitefeeconfig = new SubSiteFeeConfig(); subsitefeeconfig.ID = Guid.NewGuid(); entityState = (int)System.Data.Entity.EntityState.Added; SaveBankDetail(item.SubSiteBankFees, subsitefeeconfig.ID, newguid2, item.UserId ?? Guid.Empty); subsitefeeconfig.emp_CustomerInformation_ID = newguid2; // newguid; subsitefeeconfig.IsAddOnFeeCharge = item.IsAddOnFeeCharge; if (subsitefeeconfig.IsAddOnFeeCharge) { subsitefeeconfig.IsSameforAll = item.IsSameforAll; } else { subsitefeeconfig.IsSameforAll = false; } subsitefeeconfig.IsSubSiteAddonFee = item.IsSubSiteAddonFee; subsitefeeconfig.ServiceorTransmission = item.ServiceorTransmission; subsitefeeconfig.StatusCode = EMPConstants.Active; subsitefeeconfig.LastUpdatedBy = item.UserId ?? Guid.Empty; subsitefeeconfig.LastUpdatedDate = System.DateTime.Now; if (entityState == (int)System.Data.Entity.EntityState.Added) { subsitefeeconfig.CreatedBy = item.UserId ?? Guid.Empty; subsitefeeconfig.CreatedDate = System.DateTime.Now; subsitefeeconfigs.Add(subsitefeeconfig); } else { // For Sub-Site Fee Changes if (subsitefeeconfig.IsSameforAll) { var childRecord = db.emp_CustomerInformation.Where(o => o.ParentId == subsitefeeconfig.emp_CustomerInformation_ID && o.IsActivationCompleted != 1).Select(o => new { o.Id, o.IsActivationCompleted }).ToList(); // var IsActiveChild = childRecord.ToList().Where(o => o.IsActivationCompleted == 1).Any(); //if (!IsActiveChild) //{ foreach (var ChildItem in childRecord) { var subsitebankfees = db.SubSiteBankFeesConfigs.Where(o => o.emp_CustomerInformation_ID == ChildItem.Id).ToList(); foreach (var subsitebankfeeItem in subsitebankfees) { var ParentSubSiteBankFees = item.SubSiteBankFees.Where(o => o.BankMaster_ID == subsitebankfeeItem.BankMaster_ID.ToString()).FirstOrDefault(); if (ParentSubSiteBankFees != null) { subsitebankfeeItem.BankMaxFees = ParentSubSiteBankFees.BankMaxFees; subsitebankfeeItem.BankMaxFees_MSO = ParentSubSiteBankFees.BankMaxFees_MSO ?? 0; db.Entry(subsitebankfeeItem).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } } } db.Entry(subsitefeeconfig).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } } if (entityState == (int)System.Data.Entity.EntityState.Added) { db.SubSiteFeeConfigs.AddRange(subsitefeeconfigs); db.SaveChanges(); } db.Dispose(); return(1); } catch (Exception ex) { EMPPortal.Core.Utilities.ExceptionLogger.LogException(ex.ToString(), "SubSiteFeeService/GetSubSiteBankFeeById", dto.UserId); iretval = 0; return(iretval); throw; } }