public async Task <IActionResult> Create([Bind("CuentaId,Saldo")] Cuenta cuenta)
        {
            if (ModelState.IsValid)
            {
                _context.Add(cuenta);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(cuenta));
        }
Beispiel #2
0
        public async Task <IActionResult> Create([Bind("MovimientoId,Importe,Descripcion,TipoMovimiento")] Movimiento movimiento)
        {
            if (ModelState.IsValid)
            {
                movimiento.Fecha = DateTime.Now;

                var consulta = _context.Cuentas.Where(s => s.CuentaId == HttpContext.Session.GetInt32("CuentaID"));
                var cuenta   = consulta.FirstOrDefault <Cuenta>();
                var saldo    = cuenta.Saldo;
                var micuenta = cuenta.CuentaId;

                movimiento.CuentaId = micuenta;

                var esValido = true;
                //Si existe la cuenta
                if (movimiento.TipoMovimiento.Equals(TipoMovimiento.Ingreso))
                {
                    var aux = saldo + movimiento.Importe;
                    cuenta.Saldo = aux;
                    _context.SaveChanges();
                    HttpContext.Session.SetString("Saldo", aux.ToString());
                }
                else
                {
                    var aux = saldo - movimiento.Importe;
                    if (aux >= 0)
                    {
                        HttpContext.Session.SetString("Saldo", aux.ToString());
                        cuenta.Saldo = aux;
                        _context.SaveChanges();
                    }
                    else
                    {
                        esValido = false;
                    }
                }

                if (esValido)
                {
                    _context.Add(movimiento);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    //Redirigir a error
                    ModelState.AddModelError("Importe", "El monto ingresado supera el saldo de la cuenta");
                    return(View(movimiento));
                }
            }
            return(View(movimiento));
        }
Beispiel #3
0
        public async Task <IActionResult> Create([Bind("UsuarioId,Nombre,Apellido,Email,Password")] Usuario usuario)
        {
            if (ModelState.IsValid)
            {
                Cuenta cuenta = new Cuenta();
                cuenta.Saldo   = 0;
                usuario.Cuenta = cuenta;
                _context.Add(usuario);
                await _context.SaveChangesAsync();

                return(View("~/Views/Login.cshtml"));
            }
            return(View("~/Views/Login.cshtml"));
        }