/// <summary> /// Con esta capacidad puedes solicitar un prestamo /// </summary> /// <returns></returns> public int SolicitarPrestamo(SolicitarPrestamoInputType solicitarPrestamoInputType) { var calcularTopePrestamos = CalcularDisponibilidadPrestamo(solicitarPrestamoInputType.ClienteId, solicitarPrestamoInputType.Tasa); if (calcularTopePrestamos < solicitarPrestamoInputType.Cantidad) { throw new ApplicationException("Cantidad excede la disponibilidad de prestamos que tiene con nosotros, su disponibilidad de prestamos es de : " + calcularTopePrestamos + " pesos"); } if (calcularTopePrestamos == solicitarPrestamoInputType.Cantidad) { return(RegistrarPrestamo(new PrestamoType { CantidadPrestada = solicitarPrestamoInputType.Cantidad, Estado = "AC", FechaPrestamo = DateTime.Now, TasaInteres = solicitarPrestamoInputType.Tasa, ClienteId = solicitarPrestamoInputType.ClienteId })); } if (calcularTopePrestamos > solicitarPrestamoInputType.Cantidad) { if (solicitarPrestamoInputType.DeseaTotalDisponiblilidad) { return(RegistrarPrestamo(new PrestamoType { CantidadPrestada = calcularTopePrestamos, Estado = "AC", FechaPrestamo = DateTime.Now, TasaInteres = solicitarPrestamoInputType.Tasa, ClienteId = solicitarPrestamoInputType.ClienteId })); } if (solicitarPrestamoInputType.DeseaCantidadSolicitada) { return(RegistrarPrestamo(new PrestamoType { CantidadPrestada = solicitarPrestamoInputType.Cantidad, Estado = "AC", FechaPrestamo = DateTime.Now, TasaInteres = solicitarPrestamoInputType.Tasa, ClienteId = solicitarPrestamoInputType.ClienteId })); } throw new ApplicationException("Esta seguro que desea tomar esta cantidad o prefiere tomar mas, su cantidad limite de prestamos es :" + calcularTopePrestamos + " pesos"); } throw new Exception("Error interno del servicio de persistir favor llamar al administrados"); }
public HttpResponseMessage Post([FromBody] SolicitarPrestamoInputType solicitarPrestamoInput) { try { var obj = _prestamoService.SolicitarPrestamo(solicitarPrestamoInput); return(Request.CreateResponse(HttpStatusCode.OK, obj)); } catch (ApplicationException ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); } }