public IActionResult CalculatePremium([FromBody] PremiumCalcDto dto)
 {
     if (dto.Age < 18 || dto.Age > 65)
     {
         return(BadRequest("Only 18 to 65 years old can take up a policy"));
     }
     return(Ok(premiumsService.CalculateMembersPremium(dto)));
 }
Esempio n. 2
0
        public PremiumDto CalculateMembersPremium(PremiumCalcDto dto)
        {
            var memberPremiums = premiumsRepo.CalculateMembersPremium(dto.SumIsuredId);
            var OtherPremiums  = premiumsRepo.CalculateNonMembersPremium(dto.SumIsuredId);
            var premium        = GetPremium(dto.IsMember ? (object)memberPremiums : OtherPremiums, dto.Age);

            premiumsRepo.SavePremium(new PremiumsHistory
            {
                Age        = dto.Age,
                PayerId    = dto.PayerId,
                Name       = dto.PayerName,
                SumInsured = dto.IsMember ? memberPremiums.SumInsured: OtherPremiums.SumInsured,
                ActionDate = DateTime.Now,
                Premium    = premium
            });

            return(new PremiumDto
            {
                Premium = premium
            });
        }