public object Post(PremiumInput request) { try { if (string.IsNullOrEmpty(request.Name)) { throw new ArgumentException("We require your name"); } if (string.IsNullOrEmpty(request.Gender)) { throw new ArgumentException("We require your gender"); } var age = request.DateOfBirth.CalculateAge(); if (age < 18 || age > 65) { throw new ArgumentException("Can only receive a Premium if between the age of 18 and 65"); } var premium = PremiumCalculations.CalculatePremium(age, request.Gender); return(new PremiumInputResponse { Result = $"Your premium is ${premium}" }); } catch (ArgumentException e) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(new PremiumInputResponse { Errors = e.Message }); } }
public static PremiumInput GetPremiumInput(int targetAgeToday, string name, string gender) { var genPremium = new PremiumInput { Name = name, Gender = gender }; genPremium.DateOfBirth = SameDateXYearsAgo(targetAgeToday); return(genPremium); }