public async Task <IActionResult> UpdatePost([FromBody] Customer model) { if (ModelState.IsValid) { try { LifeInsuranceContract lifeInsuranceContract = new LifeInsuranceContract(); CoveragePlanAndRates coveragePlanAndRates = new CoveragePlanAndRates(_coveragePlanRepository, _rateChartRepository); await _lifeInsuranceRepository.UpdateLifeInsuranceContract(lifeInsuranceContract); return(Ok()); } catch (Exception ex) { if (ex.GetType().FullName == "Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException") { return(NotFound()); } return(BadRequest()); } } return(BadRequest()); }
public async Task <bool> UpdateLifeInsuranceContract(LifeInsuranceContract lifeInsuranceContract) { _context.Update(lifeInsuranceContract); await _context.SaveChangesAsync(); return(true); }
public async Task <IActionResult> CreateLifeInsuranceContract([FromBody] Customer model) { if (ModelState.IsValid) { try { LifeInsuranceContract lifeInsuranceContract = new LifeInsuranceContract(); CoveragePlanAndRates coveragePlanAndRates = new CoveragePlanAndRates(_coveragePlanRepository, _rateChartRepository); lifeInsuranceContract = coveragePlanAndRates.GetCoveragePlanAndRates(model); lifeInsuranceContract = await _lifeInsuranceRepository.CreateLifeInsuranceContract(lifeInsuranceContract); if (lifeInsuranceContract.Id > 0) { return(Ok(lifeInsuranceContract.Id)); } else { return(NotFound()); } } catch (Exception) { return(BadRequest()); } } return(BadRequest()); }
public async Task <LifeInsuranceContract> CreateLifeInsuranceContract(LifeInsuranceContract lifeInsuranceContract) { _context.LifeInsuranceContracts.Add(lifeInsuranceContract); await _context.SaveChangesAsync(); return(lifeInsuranceContract); }
public async Task <IActionResult> PutLifeInsuranceContract(string id, LifeInsuranceContract lifeInsuranceContract) { if (id != lifeInsuranceContract.ID) { return(BadRequest()); } _lifeInsuranceContext.Entry(lifeInsuranceContract).State = EntityState.Modified; try { await _lifeInsuranceContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LifeInsuranceContractExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
/// <summary> /// /// </summary> /// <param name="model"></param> /// <returns></returns> public LifeInsuranceContract GetCoveragePlanAndRates(Customer customer) { LifeInsuranceContract lifeInsuranceContract = new LifeInsuranceContract(); lifeInsuranceContract.Name = customer.Name; lifeInsuranceContract.Address = customer.Address; lifeInsuranceContract.DOB = customer.DOB; lifeInsuranceContract.Gender = customer.Gender; lifeInsuranceContract.Country = customer.Country; lifeInsuranceContract.Saledate = customer.Saledate; lifeInsuranceContract.CoveragePlan = GetNewCoveragePlan(customer); lifeInsuranceContract.NetPrice = GetNewRates(customer, lifeInsuranceContract.CoveragePlan); return(lifeInsuranceContract); }
private LifeInsuranceContract EvaluatePlan(LifeInsuranceContract lifeInsurance) { var age = CalculateAge(lifeInsurance.DateOfBirth); var coveragePlane = _coveragePlanContext.CoveragePlanContract.Where(c => c.Country == lifeInsurance.Country && (lifeInsurance.SaleDate >= c.StartDate && lifeInsurance.SaleDate <= c.EndDate) ); var rateList = _rateContext.RateContract.Where(r => r.CustomerGender == lifeInsurance.Gender).Join(coveragePlane, rate => rate.CoveragePlan, coverage => coverage.CoveragePlan, (rate, covergae) => new { rate }); var rate = rateList.Where(r => evaluatePrice(r.rate.Age.Replace("40", ""), age)).SingleOrDefault(); lifeInsurance.CoveragePlan = rate.rate.CoveragePlan; return(lifeInsurance); }
public async Task <ActionResult <LifeInsuranceContract> > PostLifeInsuranceContract(LifeInsuranceContract lifeInsuranceContract) { var LiContract = EvaluatePlan(lifeInsuranceContract); if (LiContract == null) { return(NotFound()); } try { _lifeInsuranceContext.LifeInsuranceContract.Add(LiContract); await _lifeInsuranceContext.SaveChangesAsync(); } catch (DbUpdateException) { throw; } return(CreatedAtAction("GetLifeInsuranceContract", new { id = LiContract.ID }, LiContract)); }