Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }