public ActionResult GuardarAperturaCierre(AperturaCierreCaja aperturaCierrecaja)
        {
            CajaAperturaCierreViewModel model = new CajaAperturaCierreViewModel();

            model.MensajeError = "";
            model.Resultado    = true;

            if (!ModelState.IsValid)
            {
                var viewModel = new CajaAperturaCierreViewModel(aperturaCierrecaja)
                {
                    Cajas    = _context.Cajas.ToList(),
                    Usuarios = _context.Users.ToList()
                };

                return(View("CajaAperturaCierreFormulario", viewModel));
            }

            string usuarioCajaOK  = _conexionBD.ValidarUsuarioCaja(aperturaCierrecaja.UsuarioId);
            string cajaDisponible = _conexionBD.CajaDisponible(aperturaCierrecaja.CajaId);

            if (usuarioCajaOK == "1" || cajaDisponible == "1")
            {
                var viewModel = new CajaAperturaCierreViewModel(aperturaCierrecaja)
                {
                    Cajas    = _context.Cajas.ToList(),
                    Usuarios = _context.Users.ToList()
                };

                if (usuarioCajaOK == "1")
                {
                    viewModel.MensajeError = "El usuario seleccionado posee una caja abierta. Debe cerrar primero dicha caja.";
                }
                else if (cajaDisponible == "1")
                {
                    viewModel.MensajeError = "Caja no disponible. Ya se encuentra utilizada por otro usuario.";
                }

                viewModel.Resultado = false;
                return(View("CajaAperturaCierreFormulario", viewModel));
            }

            if (aperturaCierrecaja.Id == 0)
            {
                aperturaCierrecaja.EstaAbierta = true;
                _context.CajaAperturaCierres.Add(aperturaCierrecaja);
            }
            else
            {
                var aperturaCierrecajaBD = _context.CajaAperturaCierres.Single(c => c.Id == aperturaCierrecaja.Id);
                Mapper.Map <AperturaCierreCaja, AperturaCierreCaja>(aperturaCierrecaja, aperturaCierrecajaBD);
            }

            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public ActionResult NuevaAperturaCierre()
        {
            var viewModel = new CajaAperturaCierreViewModel()
            {
                Cajas    = _context.Cajas.ToList(),
                Usuarios = _context.Users.ToList()
            };

            viewModel.Resultado = true;
            return(View("CajaAperturaCierreFormulario", viewModel));
        }
        public ActionResult EditarAperturaCierre(int id)
        {
            var aperturaCierrecajaBD = _context.CajaAperturaCierres.SingleOrDefault(c => c.Id == id);

            if (aperturaCierrecajaBD == null)
            {
                return(HttpNotFound());
            }

            var aperturaCierrecaja = new CajaAperturaCierreViewModel(aperturaCierrecajaBD)
            {
                Cajas    = _context.Cajas.ToList(),
                Usuarios = _context.Users.ToList()
            };

            aperturaCierrecaja.Resultado = true;
            return(View("CajaAperturaCierreFormulario", aperturaCierrecaja));
        }