/// <summary> /// Vista inicial de los abonos /// </summary> /// <param name="IdPrestamo"></param> /// <returns></returns> public async Task <IActionResult> Index(int IdPrestamo) { var prestamo = await _context.Prestamos.FirstOrDefaultAsync(x => x.Id == IdPrestamo); if (prestamo is null) { return(NotFound()); } var modelo = new AbonosViewModels(_context, IdPrestamo); modelo.DetallePrestamo(); modelo.Abonos = await _ServiceAbonos.GetAllByPrestamo(IdPrestamo); modelo.Saldo = (modelo.Prestamo - modelo.Abonos.Sum(x => x.Capital)).ToString("F"); modelo.Pagado = _context.Prestamos.FirstOrDefault(x => x.Id == IdPrestamo).Monto == modelo.Abonos.Sum(s => s.Capital); modelo.Minimo = (float)Math.Ceiling(await _ServiceAbonos.CalculaInteres(new Models.Abono { PrestamoId = IdPrestamo, Monto = 0 })); modelo.Maximo = (float)Math.Ceiling((modelo.Prestamo - modelo.Abonos.Sum(x => x.Capital)) + (await _ServiceAbonos.CalculaInteres(new Models.Abono { PrestamoId = IdPrestamo, Monto = 0 }))); modelo.Monto = (float)Math.Ceiling((decimal)modelo.Minimo); return(View(modelo)); }
/// <summary> /// Ejeucta abono del prestamo /// </summary> /// <param name="abonosViewModels"></param> /// <returns></returns> public async Task <IActionResult> Abonar(AbonosViewModels abonosViewModels) { await _ServiceAbonos.Abonar(new Models.Abono { Monto = abonosViewModels.Monto, PrestamoId = abonosViewModels.IdPrestamo }); return(RedirectToAction(nameof(Index), new { IdPrestamo = abonosViewModels.IdPrestamo })); }