示例#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);
        }
示例#2
0
        public ResultadoOperacion DepositoUsuario(CuentaCliente cuenta, double cantidad, int cuentaDestino, out PendingDeposit salida)
        {
            salida = new PendingDeposit();
            if (CuentaCliente.FirstOrDefault(acc => cuentaDestino == acc.NumeroCuenta) == null)
            {
                return(ResultadoOperacion.NoCuenta);
            }

            salida = new PendingDeposit(DateTime.Now, cuentaDestino, cantidad);
            return(ResultadoOperacion.Correcto);
        }
示例#3
0
        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();
        }
示例#4
0
        public SortedList <IHistorial> ObtenerHistorial(CuentaCliente cuenta)
        {
            if (cuenta == null)
            {
                return(null);
            }

            HistorialConsulta.Add(new HistorialConsulta()
            {
                FechaHora = DateTime.Now, CuentaOrigen = cuenta.NumeroCuenta
            });
            SaveChanges();

            return(historial(cuenta.NumeroCuenta));
        }
示例#5
0
        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);
        }