// [TypeFilter(typeof(AuthorizeAction), Arguments = new object[] { "Write" })] public IActionResult Index() { SchemeViewModel model = new SchemeViewModel(); model.RtaList = _schemeService.GetRTAList(); model.SchemeTypeList = _schemeService.GetSchemeTypeList(); model.AmcList = _schemeService.GetAmcList(); model.PlanList = _schemeService.GetPlanList(); model.OptionTypeList = _schemeService.GetOPtionTypeList(); model.RestrictNationalityList = _schemeService.GetCountryList(); model.InvestorTypeList = _schemeService.GetCountryList(); model.SeriesList = _schemeService.GetSeriesList(); model.AssetClassList = _schemeService.GetAssetClassList(); model.SubAssetClassList = _schemeService.GetAssetClassList(); model.NoOfDaysList = _schemeService.GetMinimumHoldingPeriodDaysList(); model.NoOfMonthsList = _schemeService.GetMinimumHoldingPeriodMonthsList(); model.NoOfYearsList = _schemeService.GetMinimumHoldingPeriodYearsList(); InitAccessModel(model); return(View(model)); }
public ActionResult GetSchemeTable(string Operation) { Session["Operation"] = Operation; //ButtonVisiblity(Operation); List <SchemeViewModel> list = new List <SchemeViewModel>(); var model = new SchemeViewModel(); var tablelist = dd._context.Mst_SchemeMaster.ToList(); foreach (var item in tablelist) { model = new SchemeViewModel(); model.SchemeName = item.SchemeName; model.ProductStr = item.Product == 1 ? "Gold Loan" : "Diamond Loan"; model.SchemeId = item.SchemeId; model.EditID = item.SchemeId; model.SchemeTypeStr = item.SchemeType == 1 ? "Slabwise" : "Slabwise"; model.FrequencyStr = item.Frequency == 1 ? "Montly" : "Montly"; model.Statusstr = item.Status == 1 ? "Active" : "Inactive"; list.Add(model); } return(PartialView("_SchemeList", list)); }
// GET: Schemes/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Scheme scheme = await db.Schemes .Where(s => s.Id == id) .FirstOrDefaultAsync(); if (scheme == null) { return(HttpNotFound()); } var vm = new SchemeViewModel() { Id = scheme.Id, Name = scheme.Name, Description = scheme.Description, Markets = scheme.Markets, Indicators = scheme.Indicators, BullBearTests = scheme.BullBearTests, BackTests = scheme.BackTests, PatternScanners = scheme.PatternScanners, Scanners = scheme.Scanners, ScannerFlag = scheme.ScannerFlag, CustomIndicatorsFlag = scheme.CustomIndicatorsFlag, LiveFlag = scheme.LiveFlag, CIAddFlag = scheme.CIAddFlag, ScannerAddFlag = scheme.ScannerAddFlag, SignalAddFlag = scheme.SignalAddFlag, TrendAddFlag = scheme.TrendAddFlag, PatternAddFlag = scheme.PatternAddFlag }; return(View(vm)); }
/// <summary> /// Get the Data based on ID and return to the model to update view. /// </summary> /// <param name="ID"></param> /// <returns></returns> // [TypeFilter(typeof(AuthorizeAction), Arguments = new object[] { "Write" })] public IActionResult Update(int ID) { SchemeViewModel model = new SchemeViewModel { schemeMaster = _schemeService.GetData(ID), SchemeTransactionDetails = _schemeService.GetTransactionData(ID), schemeRegistrationDetails = _schemeService.GetRegistrationData(ID), Frequency = _schemeService.GetFrequncyData(ID), schemeRestrictedNationality = _schemeService.GetRestrictedNationality(ID), schemeRestrictedInvestorType = _schemeService.GetRestrictedInvestorData(ID) }; if (model.schemeMaster != null) { model.RtaList = _schemeService.GetRTAList(); model.SchemeTypeList = _schemeService.GetSchemeTypeList(); model.AmcList = _schemeService.GetAmcList(); model.PlanList = _schemeService.GetPlanList(); model.OptionTypeList = _schemeService.GetOPtionTypeList(); model.RestrictNationalityList = _schemeService.GetCountryList(); model.InvestorTypeList = _schemeService.GetCountryList(); model.SeriesList = _schemeService.GetSeriesList(); model.AssetClassList = _schemeService.GetAssetClassList(); model.SubAssetClassList = _schemeService.GetAssetClassList(); model.NoOfDaysList = _schemeService.GetMinimumHoldingPeriodDaysList(); model.NoOfMonthsList = _schemeService.GetMinimumHoldingPeriodMonthsList(); model.NoOfYearsList = _schemeService.GetMinimumHoldingPeriodYearsList(); model.SchemeTransactionDetails.RestrictedNationality = _schemeService.GetSchemesRestrictedNationality(ID).ToArray(); model.SchemeTransactionDetails.InvestorType = _schemeService.GetSchemesRestrictedInvestorType(ID).ToArray(); //InitAccessModel(model); return(View("Index", model)); } else { return(View("SummaryView", model)); } }
/// <summary> /// Add Update Scheme /// </summary> /// <param name="model"></param> /// <returns></returns> public JsonResponse AddUpdate(SchemeViewModel model) { try { SchemeRestrictedNationality res = new SchemeRestrictedNationality(); SchemeRestrictedInvestorType invester = new SchemeRestrictedInvestorType(); // If model.ID == 0 the data goes to the Add part. if (!IsExsits(model.schemeMaster.SchemeName, model.schemeMaster.ID)) { int insertSchme, insertTransaction, insertReg, updateScheme = 0, updateTran = 0, updateReg = 0, updateNationality = 0, updateInvestorType = 0; if (model.schemeMaster.ID == 0) { //Insert SchemeMaster Table model.schemeMaster.CreatedOn = DateTime.Now; model.schemeMaster.CreatedBy = GetUserID(); _context.Set <Schema>().Add(model.schemeMaster); insertSchme = _context.SaveChanges(); //Insert SchemeTrasactionDetails table model.SchemeTransactionDetails.SchemeID = model.schemeMaster.ID; model.SchemeTransactionDetails.CreatedOn = DateTime.Now; model.SchemeTransactionDetails.CreatedBy = GetUserID(); model.SchemeTransactionDetails.IsActive = true; _context.Set <SchemeTransaction>().Add(model.SchemeTransactionDetails); insertTransaction = _context.SaveChanges(); if (insertTransaction != 0) { if (model.SchemeTransactionDetails.IsRecurring == true) { model.Frequency.IsActive = true; model.Frequency.CreatedOn = DateTime.Now; model.Frequency.CreatedBy = GetUserID(); model.Frequency.SchemeID = model.schemeMaster.ID; _context.Set <Frequency>().Add(model.Frequency); int l = _context.SaveChanges(); } } //Insert Scheme RegistrationDetails table model.schemeRegistrationDetails.CreatedOn = DateTime.Now; model.schemeRegistrationDetails.CreatedBy = GetUserID(); model.schemeRegistrationDetails.IsActive = true; model.schemeRegistrationDetails.SchemeID = model.schemeMaster.ID; _context.Set <SchemeRegistration>().Add(model.schemeRegistrationDetails); insertReg = _context.SaveChanges(); //Insert RestrictedNationality if (model.SchemeTransactionDetails.RestrictedNationality != null) { foreach (var item in model.SchemeTransactionDetails.RestrictedNationality) { res = null; res = new SchemeRestrictedNationality(); res.IsActive = true; res.CreatedOn = DateTime.Now; res.CreatedBy = GetUserID(); res.SchemeID = model.schemeMaster.ID; res.CountryId = Convert.ToInt32(item); _context.Set <SchemeRestrictedNationality>().Add(res); _context.SaveChangesAsync(); } } //Insert RestrictedInvestorType if (model.SchemeTransactionDetails.InvestorType != null) { foreach (var item in model.SchemeTransactionDetails.InvestorType) { invester = null; invester = new SchemeRestrictedInvestorType(); invester.IsActive = true; invester.CreatedOn = DateTime.Now; invester.CreatedBy = GetUserID(); invester.SchemeID = model.schemeMaster.ID; invester.TypeId = Convert.ToInt32(item); _context.Set <SchemeRestrictedInvestorType>().Add(invester); _context.SaveChangesAsync(); } } if (insertSchme != 0 && insertTransaction != 0 && insertReg != 0) { resp.Status = Constants.ResponseStatus.Success; resp.Message = Constants.Service.Data_insert_success; } else { resp.Status = Constants.ResponseStatus.Failed; resp.Message = Constants.Service.Data_insert_failed; } } // Else data goes to the Update part. else { resp.Message = Constants.Service.Data_Update_failed; var schemeDetails = GetData(model.schemeMaster.ID); var transactionDetails = GetTransactionData(model.schemeMaster.ID); var registrationDetils = GetRegistrationData(model.schemeMaster.ID); var restrictedNational = GetRestrictedNationalData(model.schemeMaster.ID); var restrictedInvesterType = GetRestrictedInvestorData(model.schemeMaster.ID); //Update SchemeMaster Table if (schemeDetails != null) { schemeDetails.SchemeCode = model.schemeMaster.SchemeCode; schemeDetails.SchemeName = model.schemeMaster.SchemeName; schemeDetails.SchemeTypeID = model.schemeMaster.SchemeTypeID; schemeDetails.RTAID = model.schemeMaster.RTAID; schemeDetails.AMCID = model.schemeMaster.AMCID; schemeDetails.RTACode = model.schemeMaster.RTACode; schemeDetails.PlanID = model.schemeMaster.PlanID; schemeDetails.RTAProdCode = model.schemeMaster.RTAProdCode; schemeDetails.IsActive = model.schemeMaster.IsActive; schemeDetails.ModifiedOn = DateTime.Now; schemeDetails.ModifiedBy = GetUserID(); _context.Set <Schema>().Update(schemeDetails); updateScheme = _context.SaveChanges(); } //Update SchemeTransaction table if (transactionDetails != null) { transactionDetails.SIP = model.SchemeTransactionDetails.SIP; transactionDetails.STP = model.SchemeTransactionDetails.STP; transactionDetails.SWP = model.SchemeTransactionDetails.SWP; transactionDetails.Demat = model.SchemeTransactionDetails.Demat; transactionDetails.IncludedUnitsOfExDate = model.SchemeTransactionDetails.IncludedUnitsOfExDate; transactionDetails.ModifiedBy = GetUserID(); transactionDetails.ModifiedOn = DateTime.Now; _context.Set <SchemeTransaction>().Update(transactionDetails); updateTran = _context.SaveChanges(); //check recurring is true, if its true frequency is add if (transactionDetails.IsRecurring == true) { var frequency = GetFrequncyData(model.schemeMaster.ID); if (frequency != null) { frequency.Daily = model.Frequency.Daily; frequency.Weekly = model.Frequency.Weekly; frequency.Monthly = model.Frequency.Monthly; frequency.Quartely = model.Frequency.Quartely; frequency.HalfYearly = model.Frequency.HalfYearly; frequency.Yearly = model.Frequency.Yearly; frequency.ModifiedBy = GetUserID(); frequency.ModifiedOn = DateTime.Now; _context.Set <Frequency>().Update(frequency); int J = _context.SaveChanges(); if (J != 0) { resp.Status = Constants.ResponseStatus.Success; resp.Message = Constants.Service.Data_Update_success; } } else { model.Frequency.IsActive = true; model.Frequency.CreatedOn = DateTime.Now; model.Frequency.SchemeID = model.schemeMaster.ID; _context.Set <Frequency>().Add(model.Frequency); int J = _context.SaveChanges(); } } } //Insert Scheme Registration table if (registrationDetils != null) { registrationDetils.AMFICode = model.schemeRegistrationDetails.AMFICode; registrationDetils.BseCode = model.schemeRegistrationDetails.BseCode; registrationDetils.CloseDate = model.schemeRegistrationDetails.CloseDate; registrationDetils.ISIN = model.schemeRegistrationDetails.ISIN; registrationDetils.RefISIN = model.schemeRegistrationDetails.RefISIN; registrationDetils.IssueOpenDate = model.schemeRegistrationDetails.IssueOpenDate; registrationDetils.ReOpenDate = model.schemeRegistrationDetails.ReOpenDate; registrationDetils.NSESymbol = model.schemeRegistrationDetails.NSESymbol; registrationDetils.SchemeOption = model.schemeRegistrationDetails.SchemeOption; registrationDetils.SeriesId = model.schemeRegistrationDetails.SeriesId; registrationDetils.ModifiedBy = GetUserID(); registrationDetils.ModifiedOn = DateTime.Now; _context.Set <SchemeRegistration>().Update(registrationDetils); updateReg = _context.SaveChanges(); } //Update Restricted National table var national = _context.SchemeRestrictedNationalities.Where(e => e.SchemeID == model.schemeMaster.ID).ToList(); if (national != null) { foreach (var item in national) { item.IsActive = false; _context.SchemeRestrictedNationalities.Update(item); _context.SaveChanges(); } } if (model.SchemeTransactionDetails.RestrictedNationality != null) { foreach (var item in model.SchemeTransactionDetails.RestrictedNationality) { res = null; res = new SchemeRestrictedNationality(); res.IsActive = true; res.CreatedOn = DateTime.Now; res.CreatedBy = GetUserID(); res.SchemeID = model.schemeMaster.ID; res.CountryId = Convert.ToInt32(item); _context.Set <SchemeRestrictedNationality>().Add(res); updateNationality = _context.SaveChanges(); model.schemeRestrictedNationality.ID = 0; } } //Update Investor table var investorType = _context.SchemeRestrictedInvestorTypes.Where(e => e.SchemeID == model.schemeMaster.ID).ToList(); if (investorType != null) { foreach (var item in investorType) { item.IsActive = false; _context.SchemeRestrictedInvestorTypes.Update(item); _context.SaveChanges(); } } if (model.SchemeTransactionDetails.InvestorType != null) { foreach (var item in model.SchemeTransactionDetails.InvestorType) { invester = null; invester = new SchemeRestrictedInvestorType(); invester.IsActive = true; invester.CreatedOn = DateTime.Now; invester.CreatedBy = GetUserID(); invester.SchemeID = model.schemeMaster.ID; invester.TypeId = Convert.ToInt32(item); _context.Set <SchemeRestrictedInvestorType>().Add(invester); updateInvestorType = _context.SaveChanges(); model.schemeRestrictedInvestorType.ID = 0; } } //Check all table is updated if (updateScheme != 0 && updateTran != 0 && updateReg != 0) { resp.Status = Constants.ResponseStatus.Success; resp.Message = Constants.Service.Data_Update_success; } else { resp.Status = Constants.ResponseStatus.Failed; resp.Message = Constants.Service.Data_Update_failed; } } } else { resp.Status = Constants.ResponseStatus.Failed; resp.Message = "Scheme Name is already exists.."; } } catch (Exception ex) { resp.Message = Constants.Service.Common_message; throw ex; } return(resp); }
public void SaveUpdateRecord(SchemeViewModel model) { _schemeRepository.SaveUpdateRecord(model); }
public ActionResult Print(int id) { var scheme = member_SchemeService.Find(id); var list = (from m in scheme_MediaService.GetALL() join o in outDoorService.GetList(OutDoorStatus.ShowOnline, true) on m.MediaID equals o.MediaID join c in companyService.GetAll() on o.MemberID equals c.MemberID where m.SchemeID == id select new SchemeMediaViewModel() { CityName = o.Area.CateName, CompanyName = c.Name, PCategoryName = o.OutDoorMediaCate.PCategory.CateName, CategoryName = o.OutDoorMediaCate.CateName, EndTime = m.EndTime, ID = m.ID, ImgUrl = o.MediaImg.FocusImgUrl, MediaID = o.MediaID, MemberID = o.MemberID, Mobile = c.Mobile, Name = o.Name, Phone = c.Phone, Price = m.Price, ProvinceName = o.Area.PCategory.CateName, SchemeID = id, StartTime = m.StartTime, FormatName = o.FormatCate.CateName, HasLight = o.HasLight, Height = o.Height, LightEnd = o.LightEnd, LightStrat = o.LightStrat, TotalFaces = o.TotalFaces, TrafficAuto = o.TrafficAuto, TrafficPerson = o.TrafficPerson, Wdith = o.Wdith, OwnerName = o.OwnerCate.CateName, PeriodName = o.PeriodCate.CateName, Description = o.Description } ).ToList(); var model = new SchemeViewModel() { AddTime = scheme.AddTime, Description = scheme.Description, ID = id, Name = scheme.Name, Medias = list }; return View(model); }
// GET: Schemes/Create public ActionResult Create() { var vm = new SchemeViewModel(); return(View(vm)); }
public NewSchemaWindow() { InitializeComponent(); ViewModel = new SchemeViewModel(); base.DataContext = ViewModel; }
//[ValidateAntiForgeryToken] public JsonResult CreateEdit(SchemeViewModel scheme) { scheme.CreatedBy = Convert.ToInt32(Session["UserLoginId"]); scheme.UpdatedBy = Convert.ToInt32(Session["UserLoginId"]); Mst_SchemeMaster tblSchemeMaster = new Mst_SchemeMaster(); try { if (scheme.EditID <= 0) { scheme.SchemeId = dd._context.Mst_SchemeMaster.Any() ? dd._context.Mst_SchemeMaster.Max(m => m.SchemeId) + 1 : 1; var data = dd._context.Mst_SchemeMaster.Where(u => u.SchemeName == scheme.SchemeName && u.Status == 1).Select(x => x.SchemeName).FirstOrDefault(); if (data != null) { ModelState.AddModelError("SchemeName", "Scheme Name Already Exists"); return(Json(scheme)); } tblSchemeMaster.SchemeId = scheme.SchemeId; tblSchemeMaster.RecordCreated = DateTime.Now; tblSchemeMaster.RecordCreatedBy = scheme.CreatedBy; dd._context.Mst_SchemeMaster.Add(tblSchemeMaster); } else { tblSchemeMaster = dd._context.Mst_SchemeMaster.Where(x => x.SchemeId == scheme.SchemeId).FirstOrDefault(); } tblSchemeMaster.Product = scheme.Product; tblSchemeMaster.SchemeName = scheme.SchemeName; tblSchemeMaster.SchemeType = scheme.SchemeType; tblSchemeMaster.Frequency = scheme.Frequency; tblSchemeMaster.MinTenure = scheme.MinTenure; tblSchemeMaster.MaxTenure = scheme.MaxTenure; tblSchemeMaster.MinLoanAmount = scheme.MinLoanAmount; tblSchemeMaster.MaxLoanAmount = scheme.MaxLoanAmount; tblSchemeMaster.MinLTVPerc = scheme.MinLTVPerc; tblSchemeMaster.MaxLTVPerc = scheme.MaxLTVPerc; tblSchemeMaster.MinRoiPerc = scheme.MinROIPerc; tblSchemeMaster.MaxRoiPerc = scheme.MaxROIPerc; tblSchemeMaster.GracePeriod = scheme.GracePeriod; tblSchemeMaster.EffectiveRoiPerc = scheme.EffectiveROIPerc; tblSchemeMaster.LockInPeriod = scheme.LockInPeriod; tblSchemeMaster.ProcessingFeeType = scheme.ProcessingFeeType; tblSchemeMaster.ProcessingCharges = scheme.ProcessingCharges; tblSchemeMaster.Status = scheme.Status; tblSchemeMaster.RecordUpdated = DateTime.Now; tblSchemeMaster.RecordUpdatedBy = scheme.UpdatedBy; dd._context.SaveChanges(); int schemeid = dd._context.Mst_SchemeMaster.Max(x => x.SchemeId); if (scheme.Purity == null) { scheme.Purity = (List <int>)Session["PurityData"]; } var getrecord = dd._context.Mst_SchemePurity.Where(x => x.SchemeId == scheme.SchemeId).ToList(); if (getrecord != null) { foreach (var item1 in getrecord) { dd._context.Mst_SchemePurity.Remove(item1); dd._context.SaveChanges(); } } foreach (var item in scheme.Purity) { Mst_SchemePurity tblSchemePurity = new Mst_SchemePurity(); tblSchemePurity.SchemeId = schemeid; tblSchemePurity.PurityId = item; dd._context.Mst_SchemePurity.Add(tblSchemePurity); } dd._context.SaveChanges(); } catch (Exception ex) { throw new Exception(ex.Message); } return(Json(scheme)); }
public async Task<ActionResult> EditScheme(Guid schemeId, SchemeViewModel model) { if (model.Status == SchemeStatus.Rejected) { return RedirectToAction("ConfirmRejection", new { schemeId }); } if (model.Status == SchemeStatus.Withdrawn) { return RedirectToAction("ConfirmWithdrawn", new { schemeId }); } model.CompetentAuthorities = await GetCompetentAuthorities(); if (!ModelState.IsValid) { model = await SetSchemeStatusAndCompetentAuthorities(schemeId, model); await SetBreadcrumb(schemeId); return View(model); } UpdateSchemeInformationResult result; using (var client = apiClient()) { UpdateSchemeInformation request = new UpdateSchemeInformation( schemeId, model.SchemeName, model.ApprovalNumber, model.IbisCustomerReference, model.ObligationType.Value, model.CompetentAuthorityId, model.Status); result = await client.SendAsync(User.GetAccessToken(), request); } switch (result.Result) { case UpdateSchemeInformationResult.ResultType.Success: return RedirectToAction("Overview", new { schemeId }); case UpdateSchemeInformationResult.ResultType.ApprovalNumberUniquenessFailure: { ModelState.AddModelError("ApprovalNumber", "Approval number already exists."); await SetBreadcrumb(schemeId); model = await SetSchemeStatusAndCompetentAuthorities(schemeId, model); return View(model); } case UpdateSchemeInformationResult.ResultType.IbisCustomerReferenceUniquenessFailure: { string errorMessage = string.Format( "Billing reference \"{0}\" already exists for scheme \"{1}\" ({2}).", result.IbisCustomerReferenceUniquenessFailure.IbisCustomerReference, result.IbisCustomerReferenceUniquenessFailure.OtherSchemeName, result.IbisCustomerReferenceUniquenessFailure.OtherSchemeApprovalNumber); ModelState.AddModelError("IbisCustomerReference", errorMessage); await SetBreadcrumb(schemeId); model = await SetSchemeStatusAndCompetentAuthorities(schemeId, model); return View(model); } case UpdateSchemeInformationResult.ResultType.IbisCustomerReferenceMandatoryForEAFailure: ModelState.AddModelError("IbisCustomerReference", "Enter a customer billing reference."); await SetBreadcrumb(schemeId); model = await SetSchemeStatusAndCompetentAuthorities(schemeId, model); return View(model); default: throw new NotSupportedException(); } }
private async Task<SchemeViewModel> SetSchemeStatusAndCompetentAuthorities(Guid schemeId, SchemeViewModel model) { using (var client = apiClient()) { var scheme = await client.SendAsync(User.GetAccessToken(), new GetSchemeById(schemeId)); model.StatusSelectList = new SelectList(GetStatuses(scheme.SchemeStatus), "Key", "Value"); model.CompetentAuthorities = await GetCompetentAuthorities(); } return model; }
public async Task<ActionResult> EditScheme(Guid? schemeId) { if (schemeId.HasValue) { using (var client = apiClient()) { var scheme = await client.SendAsync(User.GetAccessToken(), new GetSchemeById(schemeId.Value)); if (!scheme.CanEdit) { return new HttpForbiddenResult(); } List<int> years = await client.SendAsync(User.GetAccessToken(), new GetComplianceYears(scheme.OrganisationId)); var model = new SchemeViewModel { CompetentAuthorities = await GetCompetentAuthorities(), ApprovalNumber = scheme.ApprovalName, IbisCustomerReference = scheme.IbisCustomerReference, CompetentAuthorityId = scheme.CompetentAuthorityId ?? Guid.Empty, SchemeName = scheme.SchemeName, ObligationType = scheme.ObligationType, Status = scheme.SchemeStatus, IsChangeableStatus = scheme.SchemeStatus != SchemeStatus.Rejected && scheme.SchemeStatus != SchemeStatus.Withdrawn, OrganisationId = scheme.OrganisationId, SchemeId = schemeId.Value, ComplianceYears = years }; model.StatusSelectList = new SelectList(GetStatuses(scheme.SchemeStatus), "Key", "Value"); await SetBreadcrumb(schemeId); return View(model); } } else { return RedirectToAction("ManageSchemes"); } }
public void SaveUpdateRecord(SchemeViewModel scheme) { TSchemeMaster_BasicDetails tblSchemeMaster = new TSchemeMaster_BasicDetails(); try { if (scheme.EditID <= 0) { tblSchemeMaster.Product = scheme.Product; tblSchemeMaster.SchemeName = scheme.SchemeName; tblSchemeMaster.SchemeType = scheme.SchemeType; tblSchemeMaster.CalMethod = scheme.Frequency; tblSchemeMaster.Tenure = scheme.MinTenure; tblSchemeMaster.MaxTenure = scheme.MaxTenure; tblSchemeMaster.MinLoanAmt = scheme.MinLoanAmount; tblSchemeMaster.MaxLoanAmt = scheme.MaxLoanAmount; tblSchemeMaster.Ltv = scheme.MinLTVPerc; tblSchemeMaster.MaxLtv = scheme.MaxLTVPerc; tblSchemeMaster.ROI = scheme.MinROIPerc; tblSchemeMaster.MaxRoi = scheme.MaxROIPerc; tblSchemeMaster.GracePeriod = scheme.GracePeriod; tblSchemeMaster.LockInPeriod = scheme.LockInPeriod; tblSchemeMaster.ProChargeType = scheme.ProcessingFeeType; tblSchemeMaster.ProCharge = scheme.ProcessingCharges; tblSchemeMaster.AmtLmtTo = scheme.MaxProcessingCharge; tblSchemeMaster.isActive = scheme.Status; tblSchemeMaster.UpdatedDate = DateTime.Now; tblSchemeMaster.UpdatedBy = scheme.UpdatedBy; tblSchemeMaster.BranchId = Convert.ToInt32(HttpContext.Current.Session["BranchId"]); tblSchemeMaster.CMPId = Convert.ToInt32(HttpContext.Current.Session["CompanyId"]); tblSchemeMaster.FYId = Convert.ToInt32(HttpContext.Current.Session["FinancialYearId"]); tblSchemeMaster.CreatedDate = DateTime.Now; tblSchemeMaster.CreatedBy = scheme.CreatedBy; _context.TSchemeMaster_BasicDetails.Add(tblSchemeMaster); _context.SaveChanges(); //********************************************************************************************** int SchemeId = _context.TSchemeMaster_BasicDetails.Max(x => x.SID); foreach (var p in scheme.SchemeEffectiveROIList) { var effectiverow = new TSchemeMaster_EffectiveROI { SID = SchemeId, NoofDefaultMonths = p.NoofDefaultMonths, EffROI = (decimal)p.EffectiveROIPerc, }; _context.TSchemeMaster_EffectiveROI.Add(effectiverow); _context.SaveChanges(); } //********************************************************************************************** if (scheme.Purity == null) { scheme.Purity = Purity; } var getrecord = _context.Mst_SchemePurity.Where(x => x.SchemeId == scheme.SchemeId).ToList(); if (getrecord != null) { foreach (var item1 in getrecord) { _context.Mst_SchemePurity.Remove(item1); _context.SaveChanges(); } } foreach (var item in scheme.Purity) { Mst_SchemePurity tblSchemePurity = new Mst_SchemePurity(); tblSchemePurity.SchemeId = SchemeId; tblSchemePurity.PurityId = item; _context.Mst_SchemePurity.Add(tblSchemePurity); } _context.SaveChanges(); } else { tblSchemeMaster = _context.TSchemeMaster_BasicDetails.Where(x => x.SID == scheme.SchemeId).FirstOrDefault(); tblSchemeMaster.Product = scheme.Product; tblSchemeMaster.SchemeName = scheme.SchemeName; tblSchemeMaster.SchemeType = scheme.SchemeType; tblSchemeMaster.CalMethod = scheme.Frequency; tblSchemeMaster.Tenure = scheme.MinTenure; tblSchemeMaster.MaxTenure = scheme.MaxTenure; tblSchemeMaster.MinLoanAmt = scheme.MinLoanAmount; tblSchemeMaster.MaxLoanAmt = scheme.MaxLoanAmount; tblSchemeMaster.Ltv = scheme.MinLTVPerc; tblSchemeMaster.MaxLtv = scheme.MaxLTVPerc; tblSchemeMaster.ROI = scheme.MinROIPerc; tblSchemeMaster.MaxRoi = scheme.MaxROIPerc; tblSchemeMaster.GracePeriod = scheme.GracePeriod; tblSchemeMaster.LockInPeriod = scheme.LockInPeriod; tblSchemeMaster.ProChargeType = scheme.ProcessingFeeType; tblSchemeMaster.ProCharge = scheme.ProcessingCharges; tblSchemeMaster.AmtLmtTo = scheme.MaxProcessingCharge; tblSchemeMaster.isActive = scheme.Status; tblSchemeMaster.UpdatedDate = DateTime.Now; tblSchemeMaster.UpdatedBy = scheme.UpdatedBy; tblSchemeMaster.BranchId = Convert.ToInt32(HttpContext.Current.Session["BranchId"]); tblSchemeMaster.CMPId = Convert.ToInt32(HttpContext.Current.Session["CompanyId"]); tblSchemeMaster.FYId = Convert.ToInt32(HttpContext.Current.Session["FinancialYearId"]); _context.SaveChanges(); #region Effective ROI List <TSchemeMaster_EffectiveROI> NewEffectiveROIList = new List <TSchemeMaster_EffectiveROI>(); foreach (var p in scheme.SchemeEffectiveROIList) { var Findobject = _context.TSchemeMaster_EffectiveROI.Where(x => x.ROIID == p.ID && x.SID == scheme.SchemeId).FirstOrDefault(); if (Findobject == null) { var ratetrnnew = new TSchemeMaster_EffectiveROI { SID = scheme.SchemeId, NoofDefaultMonths = p.NoofDefaultMonths, EffROI = (decimal)p.EffectiveROIPerc, }; _context.TSchemeMaster_EffectiveROI.Add(ratetrnnew); } else { Findobject.NoofDefaultMonths = p.NoofDefaultMonths; Findobject.EffROI = (decimal)p.EffectiveROIPerc; } NewEffectiveROIList.Add(Findobject); } #endregion #region Effective ROI details remove //take the loop of table and check from list if found in list then not remove else remove from table itself var trnobjlist = _context.TSchemeMaster_EffectiveROI.Where(x => x.SID == scheme.SchemeId).ToList(); if (trnobjlist != null) { foreach (TSchemeMaster_EffectiveROI item in trnobjlist) { if (NewEffectiveROIList.Contains(item)) { continue; } else { _context.TSchemeMaster_EffectiveROI.Remove(item); } } _context.SaveChanges(); } #endregion Effective ROI details remove //************************************************************************************************************* if (scheme.Purity == null) { scheme.Purity = Purity; } //var getrecord = _context.Mst_SchemePurity.Where(x => x.SchemeId == scheme.SchemeId).ToList(); //if (getrecord != null) //{ // foreach (var item1 in getrecord) // { // _context.Mst_SchemePurity.Remove(item1); // _context.SaveChanges(); // } //} //foreach (var item in scheme.Purity) //{ // Mst_SchemePurity tblSchemePurity = new Mst_SchemePurity(); // tblSchemePurity.SchemeId = scheme.SchemeId; // tblSchemePurity.PurityId = item; // _context.Mst_SchemePurity.Add(tblSchemePurity); //} List <Mst_SchemePurity> NewSchemePurityList = new List <Mst_SchemePurity>(); foreach (var p in scheme.Purity) { var Findobject = _context.Mst_SchemePurity.Where(x => x.SchemeId == scheme.SchemeId && x.PurityId == p).FirstOrDefault(); if (Findobject == null) { var schemepurity = new Mst_SchemePurity { PurityId = p, SchemeId = scheme.SchemeId, }; _context.Mst_SchemePurity.Add(schemepurity); } else { Findobject.SchemeId = scheme.SchemeId; Findobject.PurityId = p; } NewSchemePurityList.Add(Findobject); } #region Effective ROI details remove //take the loop of table and check from list if found in list then not remove else remove from table itself var purityobjlist = _context.Mst_SchemePurity.Where(x => x.SchemeId == scheme.SchemeId).ToList(); if (purityobjlist != null) { foreach (Mst_SchemePurity item in purityobjlist) { if (NewSchemePurityList.Contains(item)) { continue; } else { _context.Mst_SchemePurity.Remove(item); } } _context.SaveChanges(); } #endregion Effective ROI details remove _context.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } }