Beispiel #1
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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));
        }