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); }
public void CerrarSesion(CuentaCliente cuenta) { foreach (var ent in cuenta.DepositosPendientes) { CuentaCliente updateAcc = CuentaCliente.First(acc => ent.Destination == acc.NumeroCuenta); updateAcc.Saldo += ent.Ammount; HistorialDeposito.Add(new HistorialDeposito() { Cantidad = ent.Ammount, CuentaOrigen = cuenta.NumeroCuenta, CuentaDestino = ent.Destination, FechaHora = ent.Time }); } SaveChanges(); }
public ICuenta InicioSesion(int numCuenta, string pinPass) { var cuenta = Cuenta.FirstOrDefault(c => c.NumeroCuenta == numCuenta && c.PinPass == pinPass); if (cuenta == null) { return(null); } if (cuenta.TipoCuenta == TipoCuenta.Gerente) { var cuentaGerente = CuentaGerente.First(c => cuenta.NumeroCuenta == c.NumeroCuenta); cuentaGerente.Nombre = new Nombre(cuenta); return(cuentaGerente); } else if (cuenta.TipoCuenta == TipoCuenta.Cliente) { var cuentaGerente = CuentaCliente.First(c => cuenta.NumeroCuenta == c.NumeroCuenta); cuentaGerente.Nombre = new Nombre(cuenta); return(cuentaGerente); } return(null); }