public string RegistrarAbono(double valorAbonado) { if (CreditoPagado == false) { Cuota cuota = ListaCuota.Find(cuota => cuota.EstadoCuota == false); if (valorAbonado > 0 && valorAbonado <= SaldoAPagar) { if (valorAbonado >= cuota.ValorCuota) { double sobrante = cuota.PagarCuota(valorAbonado); PagarAbonoSobrante(sobrante); SaldoAPagar -= valorAbonado; if (SaldoAPagar == 0) { CreditoPagado = true; } Abono abono = new Abono(valorAbonado); ListaAbonos.Add(abono); return("Valor del abono Correcto Abono registrado"); } else { return("Valor del abono incorrecto"); } } else { return("Valor del abono incorrecto"); } } else { return("Credito Pagado"); } }
public AbonoCuota(Abono abono, Cuota cuota) { this.AbonoId = abono.Id; this.CuotaId = cuota.Id; }
public AbonoCuota(Abono abono, Cuota cuota) { AbonoId = abono.Id; CuotaId = cuota.Id; }
public virtual void Abonar(string cedula, double valor) { if (valor < 0) { throw new InvalidOperationException($"EL valor a abonar no puede ser menor a 0"); } if (valor > SaldoCredito) { throw new InvalidOperationException($"EL valor a abonar no puede ser mayor a el saldo del credito"); } else { if (valor >= ValorCuota) { double valorabono = valor; foreach (var dto in Cuotas) { if (dto.IdCuota.Equals(cedula)) { if (dto.ValorAbonado == 0 && dto.ValorPendiente == 0) { if (valor >= ValorCuota) { dto.ValorAbonado = ValorCuota; dto.ValorPendiente = 0; valor = valor - ValorCuota; } else { if (valor < ValorCuota) { dto.ValorAbonado = valor; dto.ValorPendiente = ValorCuota - valor; valor = 0; break; } } } if (dto.ValorAbonado != 0 && dto.ValorPendiente != 0) { if (valor >= ValorCuota) { valor -= (ValorCuota - dto.ValorAbonado); dto.ValorAbonado = ValorCuota; dto.ValorPendiente = 0; } } if (dto.ValorAbonado != 0 && dto.ValorPendiente == 0) { } } } this.SaldoCredito -= valorabono; Abono abono = new Abono(); abono.Cedula = cedula; abono.ValorAbonado = valorabono; abono.FechaAbono = DateTime.Now; Abonos.Add(abono); throw new InvalidOperationException($"abonado con exito en las cuotas con indicador {cedula} usted debe {SaldoCredito}"); } else { throw new InvalidOperationException($"EL valor a abonar no puede ser menor al valor de la cuota"); } } }