public async Task <IActionResult> GeneratePremium(User user) { // Checking whether the model is valid or not and // also a sanity check that all variables are set // before the service call is made. if (!ModelState.IsValid || string.IsNullOrEmpty(user.Name) || user.Gender == null || user.DOB == null) { return(View(nameof(Index))); } try { var gender = GenderFactory.CreateInstance(user.Gender.ToString()); gender.DOB = user.DOB; gender.Name = user.Name; var premium = await premiumRepository.CalculatePremiumAsync(gender); return(RedirectToAction("EligiblePremium", new { premiumValue = premium, name = user.Name })); } catch (Exception) { // log something over here // throw the user friendly error. } return(View(nameof(Index))); }
public PersonalInfo() { Genders = GenderFactory.GetGenders(); MartialStatusList = MartialStatusFactory.GetStatusList(); }