public ResultadoOperacion RetiroUsuario(CuentaCliente cuenta, double cantidad) { if (cuenta.Saldo < cantidad) { return(ResultadoOperacion.NoSaldo); } if (cantidad > BilletesRestantes * 20) { return(ResultadoOperacion.NoDinero); } CuentaCliente updateAcc = CuentaCliente.First(acc => cuenta.NumeroCuenta == acc.NumeroCuenta); updateAcc.Saldo -= cantidad; cuenta.Saldo = updateAcc.Saldo; HistorialRetiro.Add(new HistorialRetiro() { FechaHora = DateTime.Now, CuentaOrigen = cuenta.NumeroCuenta, Cantidad = cantidad }); SaveChanges(); BilletesRestantes -= (int)(cantidad / 20); return(ResultadoOperacion.Correcto); }
private SortedList <IHistorial> historial(int cuenta = 0) { var historial = new SortedList <IHistorial>(); historial.AddRange(HistorialDeposito.Where(c => cuenta == 0 ? true : cuenta == c.CuentaOrigen || cuenta == c.CuentaDestino)); historial.AddRange(HistorialRetiro.Where(c => cuenta == 0 ? true : cuenta == c.CuentaOrigen)); return(historial); }