public ActionResult <decimal> CalculatePremium(LifePremiumModel model) // Can be made async when service is async
        {
            var validationResult = validator.Validate(model);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors.Select(e => e.ErrorMessage)));
            }
            var premium =
                service.CalculatePremium(model.SumInsured, Enum.Parse <Occupation>(model.Occupation), model.Age.GetValueOrDefault());

            return(Ok(premium));
        }
        public void Should_Pass_Validation()
        {
            // Arrange
            var model = new LifePremiumModel
            {
                DateOfBirth = DateTime.Today.AddDays(-1),
                Name        = "some name",
                Occupation  = "Doctor",
                SumInsured  = 1
            };

            // Act
            var result = sut.Validate(model);

            result.IsValid.Should().BeTrue();
            result.Errors.Should().BeNullOrEmpty();
        }