Пример #1
0
        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);
        }
Пример #2
0
        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());
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
 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."));
     }
 }