public static Elegible GetCommenFoElegible(DateTime DateOfBirth) { Elegible result = null; try { int age = 0; string msgForNotElegible = string.Empty; age = DateTime.Today.Year - DateOfBirth.Year; if (age < 18) { msgForNotElegible = "Lo Sentimos aun no cuenta con la edad para solicitar este producto."; } if (age > 25) { msgForNotElegible = "Favor pasar por una de nuestras sucursales para evaluar su caso."; } result = new Elegible() { Age = age, IsElegible = (age >= 18 && age <= 25) ? true : false, Comment = msgForNotElegible }; } catch (Exception e) { _ = e.Message; } return(result); }
public async Task <ActionResult> Calculator(Calculate calculate) { if (ModelState.IsValid) { Elegible Eligibility = Rule.GetCommenFoElegible(calculate.DateOfBirth); ViewBag.Months = new SelectList(await Services.ApiServices.GetMonthsList(), "MonthValue", "TypeName"); if (Eligibility.IsElegible == false) { ModelState.AddModelError("", Eligibility.Comment); return(View(calculate)); } var ClientRate = await Services.ApiServices.GetRateByAge(Eligibility); calculate.RateValue = ClientRate.RateValue; calculate.IPClient = IpAddress.GetIPClient; if (calculate.RateValue == 0) { ModelState.AddModelError("", "No se pudo obtener la tasa para su edad"); return(View(calculate)); } ViewBag.Amount = await Services.ApiServices.GetCalculationFee(calculate); return(View(calculate)); } return(View()); }
public static async Task <LoanRate> GetRateByAge(Elegible value) { using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["ApiLoanURL"]); HttpResponseMessage response = client.PostAsJsonAsync <Elegible>("RateByAge", value).Result; LoanRate loanRate = JsonConvert.DeserializeObject <LoanRate>(await response.Content.ReadAsStringAsync()); return(loanRate); } }
public IHttpActionResult getRateByAge(Elegible value) { try { var result = Business.LoanRate.GetByAge(value.Age); if (result != null) { return(Ok(result)); } else { return(Ok()); } } catch (Exception e) { _ = e.Message; return(BadRequest("No se pudo obtener la la tasa para la edad.")); } }