public ImpresionAbono impresionAbono(int abonoId) { ImpresionAbono ia = null; abono abono = (abono)db.abono.Find(abonoId); if (abono.Estado) { cuota cuota = (cuota)db.cuota.Find(abono.CuotaId); credito credito = (credito)db.credito.Find(cuota.CreditoId); empresa empresa = (empresa)db.empresa.Find(credito.cliente.EmpresaId); ia = new ImpresionAbono(); ia.LogoEmpresa = "~/Uploads/Logos/" + empresa.LogoUrl; ia.EmpresaId = empresa.EmpresaId; ia.EmpresaNit = empresa.Nit; ia.EmpresaNombre = empresa.Nombre; ia.ClienteNit = credito.cliente.Nit; ia.ClienteNombre = credito.cliente.Nombre; ia.EmailCliente = credito.cliente.Email; ia.CreditoId = credito.CreditoId; ia.CreditoNro = credito.CreditoNro; ia.CreditoValor = credito.Valor; ia.CreditoCantCuotas = credito.cuota.Count; ia.CuotaNro = cuota.Numero; ia.CuotaValor = cuota.AbonoCapital + cuota.AbonoInteres + MiUtil.nullTodecimal(cuota.AjusteAbonoCapital) + MiUtil.nullTodecimal(cuota.AjusteAbonoInteres); ia.AbonoId = abonoId; ia.AbonoNro = abono.AbonoNro; ia.AbonoFecha = abono.Fecha; ia.AbonoValor = abono.Valor; decimal?porcenInteres = cuota.porcentajeInteres(); decimal?porcenCapital = cuota.porcentajeCapital(); ia.AbonoInteres = ia.AbonoValor * (porcenInteres / 100); ia.AbonoCapital = ia.AbonoValor * (porcenCapital / 100); ia.CreditoSaldoInteres = credito.calcularTotalInteres() - credito.calcularAbonoInteres(abono.Fecha); ia.CreditoSaldoCapital = credito.calcularTotalCapital() - credito.calcularAbonoCapital(abono.Fecha); ia.TotalAbono = ia.AbonoCapital + ia.AbonoInteres; ia.SaldoCuota = cuota.calcularSaldoxCapital(abono.Fecha) + cuota.calcularSaldoxInteres(abono.Fecha); //ia.CuotaValor - ia.TotalAbono; } return(ia); }