Example #1
0
        public ActionResult Create([Bind(Include = "mocja_Id,cja_Id,mocja_FechaApetura,mocja_UsuarioApertura,usu_Id,mocja_FechaArqueo,mocja_UsuarioArquea,mocja_FechaAceptacion,mocja_UsuarioAceptacion,mocja_UsuarioCrea,mocja_FechaCrea,mocja_UsuarioModifica,mocja_FechaModifica")] tbMovimientoCaja tbMovimientoCaja)
        {
            ViewBag.cja_Id  = new SelectList(db.tbCaja, "cja_Id", "cja_Descripcion", tbMovimientoCaja.cja_Id);
            ViewBag.deno_Id = new SelectList(db.tbDenominacionArqueo, "deno_Id", "deno_Descripcion", tbMovimientoCaja.cja_Id);
            if (ModelState.IsValid)
            {
                try
                {
                    //////////Aqui va la lista//////////////
                    var MensajeError          = string.Empty;
                    IEnumerable <object> list = null;
                    list = db.UDP_Vent_tbMovimientoCaja_Insert(tbMovimientoCaja.cja_Id,
                                                               tbMovimientoCaja.usu_Id,
                                                               tbMovimientoCaja.mocja_UsuarioApertura,
                                                               tbMovimientoCaja.mocja_FechaArqueo,
                                                               tbMovimientoCaja.mocja_UsuarioArquea,
                                                               tbMovimientoCaja.mocja_FechaAceptacion,
                                                               tbMovimientoCaja.mocja_UsuarioAceptacion,
                                                               Function.GetUser(),
                                                               Function.DatetimeNow());
                    foreach (UDP_Vent_tbMovimientoCaja_Insert_Result denoarq in list)
                    {
                        MensajeError = denoarq.MensajeError;
                    }
                    if (MensajeError.StartsWith("-1"))
                    {
                        ModelState.AddModelError("", "No se pudo insertar el registro, favor contacte al administrador.");
                        return(View(tbMovimientoCaja));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }

                catch (Exception Ex)
                {
                    Ex.Message.ToString();
                    ModelState.AddModelError("", "No se pudo insertar el registro, favor contacte al administrador.");


                    return(View(tbMovimientoCaja));
                }
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
            }
            //if (ModelState.IsValid)
            //{
            //    db.tbMovimientoCaja.Add(tbMovimientoCaja);
            //    db.SaveChanges();
            //    return RedirectToAction("Index");
            //}

            ViewBag.mocja_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbMovimientoCaja.mocja_UsuarioCrea);
            ViewBag.mocja_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbMovimientoCaja.mocja_UsuarioModifica);
            ViewBag.deno_Id = new SelectList(db.tbDenominacionArqueo, "deno_Id", "deno_Descripcion", tbMovimientoCaja.cja_Id);
            return(View(tbMovimientoCaja));
        }
        ///Create Apertura
        public ActionResult CreateApertura()
        {
            if (Function.GetUserLogin())
            {
                if (Function.GetUserRols("MovimientoCaja/CreateApertura"))
                {
                    int idUser = 0;

                    List <tbUsuario> User = Function.getUserInformation();
                    foreach (tbUsuario Usuario in User)
                    {
                        idUser = Convert.ToInt32(Usuario.usu_Id);
                    }

                    //////Solicitud Efectivo
                    tbMovimientoCaja    MovimientoCaja    = new tbMovimientoCaja();
                    tbSolicitudEfectivo SolicitudEfectivo = new tbSolicitudEfectivo();
                    tbCargos            empleados         = new tbCargos();
                    ViewBag.mnda_Id = new SelectList(db.tbMoneda, "mnda_Id", "mnda_Nombre", SolicitudEfectivo.mnda_Id);

                    ViewBag.suc_Descripcion = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Descripcion).SingleOrDefault();
                    ViewBag.suc_Id          = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Id == null ? 0 : x.tbSucursales.suc_Id).SingleOrDefault();

                    var suc_Id = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Id == null ? 0 : x.tbSucursales.suc_Id).SingleOrDefault();
                    ViewBag.UsuarioApertura       = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_NombreUsuario).SingleOrDefault();
                    ViewBag.mocja_UsuarioApertura = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_Id == null ? 0 : x.usu_Id).SingleOrDefault();
                    var Cajas = db.tbCaja.Select(s => new { cja_Id = s.cja_Id, cja_Descripcion = s.cja_Descripcion, suc_Id = s.suc_Id }).Where(x => x.suc_Id == suc_Id).ToList();
                    ViewBag.cja_Id = new SelectList(Cajas, "cja_Id", "cja_Descripcion", MovimientoCaja.cja_Id);

                    var sql   = @"SELECT tbUsuario.usu_Id ,tbUsuario.usu_NombreUsuario ,tbUsuario.usu_Password,tbUsuario.usu_Nombres,tbUsuario.usu_Apellidos,
                                tbUsuario.usu_Correo,tbUsuario.usu_EsActivo,tbUsuario.usu_RazonInactivo,tbUsuario.usu_SesionesValidas,
                                tbUsuario.suc_Id,tbUsuario.emp_Id,usu_EsAdministrador
                                FROM  Acce.tbUsuario INNER JOIN
                                     Acce.tbRolesUsuario ON Acce.tbUsuario.usu_Id = Acce.tbRolesUsuario.usu_Id
	                                 INNER JOIN [Acce].[tbRol] ON Acce.tbRolesUsuario.rol_Id=Acce.tbRol.rol_Id
	                                 where rol_Descripcion like '%caja%' and suc_Id = "     + suc_Id;
                    var vista = db.Database.SqlQuery <tbUsuario>(sql).ToList();
                    ViewBag.usu_Id = new SelectList(vista, "usu_Id", "usu_NombreUsuario");

                    /////Vistas Parciales
                    ViewBag.SolicitudEfectivo    = db.tbSolicitudEfectivo.ToList();
                    ViewBag.MovimientoCaja       = db.tbMovimientoCaja.ToList();
                    Session["SolicitudEfectivo"] = null;
                    return(View());
                }
                else
                {
                    return(RedirectToAction("SinAcceso", "Login"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
Example #3
0
        // GET: /MovimientoCaja/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            tbMovimientoCaja tbMovimientoCaja = db.tbMovimientoCaja.Find(id);

            if (tbMovimientoCaja == null)
            {
                return(RedirectToAction("NotFound", "Login"));
            }
            return(View(tbMovimientoCaja));
        }
Example #4
0
        ///Create Apertura
        public ActionResult CreateApertura()
        {
            if (Function.GetUserLogin())
            {
                if (Function.GetUserRols("MovimientoCaja/CreateApertura"))
                {
                    int idUser = 0;

                    List <tbUsuario> User = Function.getUserInformation();
                    foreach (tbUsuario Usuario in User)
                    {
                        idUser = Convert.ToInt32(Usuario.usu_Id);
                    }

                    //////Solicitud Efectivo
                    tbMovimientoCaja    MovimientoCaja    = new tbMovimientoCaja();
                    tbSolicitudEfectivo SolicitudEfectivo = new tbSolicitudEfectivo();
                    ViewBag.mnda_Id = new SelectList(db.tbMoneda, "mnda_Id", "mnda_Nombre", SolicitudEfectivo.mnda_Id);
                    ViewBag.usu_Id  = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", MovimientoCaja.usu_Id);


                    ViewBag.suc_Descripcion = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Descripcion).SingleOrDefault();
                    ViewBag.suc_Id          = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Id == null ? 0 : x.tbSucursales.suc_Id).SingleOrDefault();

                    var suc_Id = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Id == null ? 0 : x.tbSucursales.suc_Id).SingleOrDefault();
                    ViewBag.UsuarioApertura       = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_NombreUsuario).SingleOrDefault();
                    ViewBag.mocja_UsuarioApertura = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_Id == null ? 0 : x.usu_Id).SingleOrDefault();
                    var Cajas = db.tbCaja.Select(s => new { cja_Id = s.cja_Id, cja_Descripcion = s.cja_Descripcion, suc_Id = s.suc_Id }).Where(x => x.suc_Id == suc_Id).ToList();
                    ViewBag.cja_Id = new SelectList(Cajas, "cja_Id", "cja_Descripcion", MovimientoCaja.cja_Id);
                    /////Vistas Parciales
                    ViewBag.SolicitudEfectivo    = db.tbSolicitudEfectivo.ToList();
                    ViewBag.MovimientoCaja       = db.tbMovimientoCaja.ToList();
                    Session["SolicitudEfectivo"] = null;
                    return(View());
                }
                else
                {
                    return(RedirectToAction("SinAcceso", "Login"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
Example #5
0
        ///Create Apertura
        public ActionResult CreateApertura()
        {
            try
            {
                int idUser             = 0;
                GeneralFunctions Login = new GeneralFunctions();
                List <tbUsuario> User  = Login.getUserInformation();
                foreach (tbUsuario Usuario in User)
                {
                    idUser = Convert.ToInt32(Usuario.emp_Id);
                }
                //////Solicitud Efectivo
                tbMovimientoCaja MovimientoCaja = new tbMovimientoCaja();
                //////Solicitud Efectivo
                tbSolicitudEfectivo SolicitudEfectivo = new tbSolicitudEfectivo();
                ViewBag.mnda_Id         = new SelectList(db.tbMoneda, "mnda_Id", "mnda_Nombre", SolicitudEfectivo.mnda_Id);
                ViewBag.suc_Descripcion = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursal.suc_Descripcion).SingleOrDefault();
                var suc_Id = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursal.suc_Id).SingleOrDefault();
                ViewBag.UsuarioApertura       = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_NombreUsuario).SingleOrDefault();
                ViewBag.mocja_UsuarioApertura = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_Id).SingleOrDefault();

                var Cajas = db.tbCaja.Select(s => new {
                    cja_Id          = s.cja_Id,
                    cja_Descripcion = s.cja_Descripcion,
                    suc_Id          = s.suc_Id
                }).Where(x => x.suc_Id == suc_Id).ToList();

                ViewBag.cja_Id = new SelectList(Cajas, "cja_Id", "cja_Descripcion", MovimientoCaja.cja_Id);
                /////Vistas Parciales
                ViewBag.SolicitudEfectivo    = db.tbSolicitudEfectivo.ToList();
                ViewBag.MovimientoCaja       = db.tbMovimientoCaja.ToList();
                Session["SolicitudEfectivo"] = null;
                return(View());
            }
            catch (Exception Ex)
            {
                ModelState.AddModelError("", "Error al Acceder" + Ex.Message.ToString());
                return(View());
            }
        }
Example #6
0
        // GET: /MovimientoCaja/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            tbMovimientoCaja tbMovimientoCaja = db.tbMovimientoCaja.Find(id);

            if (tbMovimientoCaja == null)
            {
                return(RedirectToAction("NotFound", "Login"));
            }
            ViewBag.mocja_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbMovimientoCaja.mocja_UsuarioCrea);
            ViewBag.mocja_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbMovimientoCaja.mocja_UsuarioModifica);
            ViewBag.cja_Id = new SelectList(db.tbCaja, "cja_Id", "cja_Descripcion", tbMovimientoCaja.cja_Id);
            return(View(tbMovimientoCaja));

            //////Efectivo Inicial
            //var solef_Id = db.tbSolicitudEfectivo.Where(x => x.solef_EsApertura == true && x.solef_FechaEntrega == Date && x.solef_EsAnulada == false).Select(x => x.solef_Id).SingleOrDefault();
            //if (solef_Id > 0)
            //{
            //    ViewBag.EfectivoInicial = db.tbSolicitudEfectivoDetalle.Where(x => x.solef_Id == solef_Id).Select(x => x.soled_MontoEntregado).Sum();
            //}
            //else
            //{
            //    ViewBag.EfectivoInicial = 0.00;
            //}

            //////Efectivo Entregado
            //var EfectivoEntregado = db.tbPago.ToList();
            //if (EfectivoEntregado.Count() > 0)
            //{
            //    ViewBag.EfectivoEntregado = db.tbPago.Where(x => x.pago_FechaElaboracion == Date).Select(x => x.pago_TotalCambio).Sum();
            //}
            //else
            //{
            //    ViewBag.EfectivoEntregado = 0.00;
            //}
        }
Example #7
0
        public ActionResult CreateApertura([Bind(Include = "mocja_Id,cja_Id,mocja_FechaApetura,mocja_UsuarioApertura,usu_Id,mocja_UsuarioCrea,mocja_FechaCrea")] tbMovimientoCaja tbMovimientoCaja)
        {
            int idUser            = 0;
            List <tbUsuario> User = Function.getUserInformation();

            foreach (tbUsuario Usuario in User)
            {
                idUser = Convert.ToInt32(Usuario.usu_Id);
            }

            tbSolicitudEfectivo tbSolicitudEfectivo = new tbSolicitudEfectivo();

            /////////REMOVE////////
            ModelState.Remove("mocja_UsuarioApertura");
            ModelState.Remove("mocja_UsuarioArquea");
            ModelState.Remove("mocja_FechaArqueo");
            ModelState.Remove("mocja_FechaAceptacion");
            ModelState.Remove("mocja_UsuarioAceptacion");
            /////////VAR//////////;
            bool solef_EsApertura = true;
            bool solef_EsAnulada  = false;

            //tbMovimientoCaja.mocja_FechaApertura = DateTime.Today;
            tbMovimientoCaja.mocja_FechaCrea = Function.DatetimeNow();
            ///////////VAR SESSION//////////
            var    list                         = (List <tbSolicitudEfectivoDetalle>)Session["SolicitudEfectivo"];
            short  moneda                       = (short)Session["SolicitudEfectivoMoneda"];
            string MensajeError                 = "";
            string MensajeErrorSolicitud        = "";
            string MensajeErrorSolicitudDetalle = "";
            //////////LISTAS///////////////
            IEnumerable <object> listMovimientoCaja           = null;
            IEnumerable <object> listSolicitudEfectivo        = null;
            IEnumerable <object> listSolicitudEfectivoDetalle = null;

            if (Function.GetUserLogin())
            {
                if (Function.GetUserRols("MovimientoCaja/CreateApertura"))
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            var fecha = DateTime.Today;
                            if (db.tbMovimientoCaja.Any(a => a.usu_Id == tbMovimientoCaja.usu_Id && a.mocja_FechaApertura == fecha))
                            {
                                ModelState.AddModelError("", "Este usuario ya aperturo una caja el día de hoy.");
                                //return View(tbMovimientoCaja);
                            }
                            else
                            {
                                using (TransactionScope Tran = new TransactionScope())
                                {
                                    listMovimientoCaja = db.UDP_Vent_tbMovimientoCaja_Apertura_Insert(
                                        tbMovimientoCaja.cja_Id,
                                        fecha,
                                        tbMovimientoCaja.mocja_UsuarioApertura,
                                        tbMovimientoCaja.usu_Id,
                                        tbMovimientoCaja.mocja_FechaArqueo,
                                        Function.GetUser(),
                                        tbMovimientoCaja.mocja_FechaAceptacion,
                                        Function.GetUser(),
                                        Function.GetUser(),
                                        Function.DatetimeNow());
                                    foreach (UDP_Vent_tbMovimientoCaja_Apertura_Insert_Result apertura in listMovimientoCaja)
                                    {
                                        MensajeError = apertura.MensajeError;
                                    }
                                    if (MensajeError.StartsWith("-1"))
                                    {
                                        Function.InsertBitacoraErrores("MovimientoCaja/CreateApertura", MensajeError, "CreateApertura");
                                        ModelState.AddModelError("", "No se pudo insertar el registro, favor contacte al administrador.");
                                        return(View(tbMovimientoCaja));
                                    }
                                    else
                                    {
                                        listSolicitudEfectivo = db.UDP_Vent_tbSolicitudEfectivo_Apertura_Insert(
                                            Convert.ToInt32(MensajeError),
                                            solef_EsApertura,
                                            fecha,
                                            Function.GetUser(),
                                            moneda,
                                            solef_EsAnulada,
                                            Function.GetUser(),
                                            Function.DatetimeNow());
                                        foreach (UDP_Vent_tbSolicitudEfectivo_Apertura_Insert_Result SolicitudEfectivoMon in listSolicitudEfectivo)
                                        {
                                            MensajeErrorSolicitud = SolicitudEfectivoMon.MensajeError;
                                        }
                                        if (MensajeErrorSolicitud.StartsWith("-1"))
                                        {
                                            Function.InsertBitacoraErrores("MovimientoCaja/CreateApertura", MensajeError, "CreateApertura");
                                            ModelState.AddModelError("", "No se pudo agregar el registro detalle");
                                            return(View(tbMovimientoCaja));
                                        }
                                        else
                                        {
                                            ///////////Solicitud Efectivo Detalle////////////////////
                                            if (MensajeErrorSolicitudDetalle != "-1")
                                            {
                                                if (list != null)
                                                {
                                                    if (list.Count != 0)
                                                    {
                                                        foreach (tbSolicitudEfectivoDetalle efectivodetalle in list)
                                                        {
                                                            var SolicitudDetalle = Convert.ToInt32(MensajeErrorSolicitud);
                                                            efectivodetalle.solef_Id     = SolicitudDetalle;
                                                            listSolicitudEfectivoDetalle = db.UDP_Vent_tbSolicitudEfectivoDetalle_Apertura_Insert(
                                                                Convert.ToInt32(MensajeErrorSolicitud),
                                                                efectivodetalle.deno_Id,
                                                                efectivodetalle.soled_CantidadSolicitada,
                                                                efectivodetalle.soled_CantidadEntregada,
                                                                efectivodetalle.soled_MontoEntregado,
                                                                Function.GetUser(),
                                                                Function.DatetimeNow());
                                                            foreach (UDP_Vent_tbSolicitudEfectivoDetalle_Apertura_Insert_Result SolicitudEfectivoDet in listSolicitudEfectivoDetalle)
                                                            {
                                                                MensajeErrorSolicitudDetalle = SolicitudEfectivoDet.MensajeError;
                                                                if (MensajeErrorSolicitudDetalle.StartsWith("-1"))
                                                                {
                                                                    Function.InsertBitacoraErrores("MovimientoCaja/CreateApertura", MensajeError, "CreateApertura");
                                                                    ModelState.AddModelError("", "No se pudo agregar el registro detalle");
                                                                    return(View(tbMovimientoCaja));
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                ModelState.AddModelError("", "No se pudo agregar el registro");
                                                return(View(tbMovimientoCaja));
                                            }
                                        }
                                        Tran.Complete();
                                        return(RedirectToAction("IndexApertura"));
                                    }
                                }
                            }
                        }
                        catch (Exception Ex)
                        {
                            ///
                            ViewBag.suc_Descripcion = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Descripcion).SingleOrDefault();
                            var suc_Id = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Id).SingleOrDefault();
                            ViewBag.UsuarioApertura       = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_NombreUsuario).SingleOrDefault();
                            ViewBag.mocja_UsuarioApertura = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_Id).SingleOrDefault();
                            ///

                            Function.InsertBitacoraErrores("MovimientoCaja/CreateApertura", MensajeError, "CreateApertura");

                            //Usuario
                            ViewBag.usu_Id = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbMovimientoCaja.usu_Id);
                            //Caja
                            ViewBag.cja_Id = new SelectList(db.tbCaja, "cja_Id", "cja_Descripcion", tbMovimientoCaja.cja_Id);
                            ///Sucursal
                            ViewBag.suc_Id = new SelectList(db.tbSucursales, "suc_Id", "suc_Descripcion");
                            ///Moneda
                            ViewBag.mnda_Id = new SelectList(db.tbMoneda, "mnda_Id", "mnda_Nombre", tbSolicitudEfectivo.mnda_Id);

                            Ex.Message.ToString();
                            ModelState.AddModelError("", "No se pudo insertar el registro, favor contacte al administrador." + Ex.Message);
                            return(View(tbMovimientoCaja));
                        }
                    }

                    ViewBag.suc_Descripcion = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Descripcion).SingleOrDefault();
                    var suc_ID = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.tbSucursales.suc_Id).Take(1).FirstOrDefault();
                    ViewBag.UsuarioApertura       = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_NombreUsuario).SingleOrDefault();
                    ViewBag.mocja_UsuarioApertura = db.tbUsuario.Where(x => x.usu_Id == idUser).Select(x => x.usu_Id).SingleOrDefault();

                    //Usuario
                    ViewBag.usu_Id = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbMovimientoCaja.usu_Id);
                    ///Sucursal
                    ViewBag.suc_Id = new SelectList(db.tbSucursales, "suc_Id", "suc_Descripcion");
                    //Caja
                    ViewBag.cja_Id = new SelectList(db.tbCaja, "cja_Id", "cja_Descripcion", tbMovimientoCaja.cja_Id);
                    ///Moneda
                    ViewBag.mnda_Id = new SelectList(db.tbMoneda, "mnda_Id", "mnda_Nombre", tbSolicitudEfectivo.mnda_Id);
                    return(View(tbMovimientoCaja));
                }

                else
                {
                    return(RedirectToAction("SinAcceso", "Login"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
Example #8
0
        public ActionResult CreateApertura([Bind(Include = "mocja_Id,cja_Id,mocja_FechaApetura,mocja_UsuarioApertura,mocja_UsuarioCrea,mocja_FechaCrea")] tbMovimientoCaja tbMovimientoCaja)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ModelState.Remove("mocja_UsuarioApertura");
                    ModelState.Remove("mocja_UsuarioArquea");
                    ModelState.Remove("mocja_FechaArqueo");
                    ModelState.Remove("mocja_FechaAceptacion");
                    ModelState.Remove("mocja_UsuarioAceptacion");
                    /////////VAR//////////
                    tbMovimientoCaja.mocja_UsuarioArquea     = 1;
                    tbMovimientoCaja.mocja_UsuarioAceptacion = 1;
                    bool solef_EsApertura = true;
                    bool solef_EsAnulada  = false;
                    tbMovimientoCaja.mocja_FechaApertura = DateTime.Now;
                    ///////////VAR SESSION//////////
                    var    list                         = (List <tbSolicitudEfectivoDetalle>)Session["SolicitudEfectivo"];
                    short  moneda                       = (short)Session["SolicitudEfectivoMoneda"];
                    string MensajeError                 = "";
                    string MensajeErrorSolicitud        = "";
                    string MensajeErrorSolicitudDetalle = "";
                    //////////LISTAS///////////////
                    IEnumerable <object> listMovimientoCaja           = null;
                    IEnumerable <object> listSolicitudEfectivo        = null;
                    IEnumerable <object> listSolicitudEfectivoDetalle = null;

                    using (TransactionScope Tran = new TransactionScope())
                    {
                        listMovimientoCaja = db.UDP_Vent_tbMovimientoCaja_Apertura_Insert(
                            tbMovimientoCaja.cja_Id,
                            tbMovimientoCaja.mocja_FechaApertura,
                            tbMovimientoCaja.mocja_UsuarioApertura,
                            tbMovimientoCaja.mocja_FechaArqueo,
                            tbMovimientoCaja.mocja_UsuarioArquea,
                            tbMovimientoCaja.mocja_FechaAceptacion,
                            tbMovimientoCaja.mocja_UsuarioAceptacion);
                        foreach (UDP_Vent_tbMovimientoCaja_Apertura_Insert_Result apertura in listMovimientoCaja)
                        {
                            MensajeError = apertura.MensajeError;
                        }
                        if (MensajeError == "-1")
                        {
                            ModelState.AddModelError("", "No se pudo insertar el registro, favor contacte al administrador.");
                            return(View(tbMovimientoCaja));
                        }
                        else
                        {
                            listSolicitudEfectivo = db.UDP_Vent_tbSolicitudEfectivo_Apertura_Insert(
                                Convert.ToInt32(MensajeError),
                                solef_EsApertura,
                                moneda,
                                solef_EsAnulada

                                );
                            foreach (UDP_Vent_tbSolicitudEfectivo_Apertura_Insert_Result SolicitudEfectivoMon in listSolicitudEfectivo)
                            {
                                MensajeErrorSolicitud = SolicitudEfectivoMon.MensajeError;
                            }
                            if (MensajeErrorSolicitud == "-1")
                            {
                                ModelState.AddModelError("", "No se pudo agregar el registro detalle");
                                return(View(tbMovimientoCaja));
                            }
                            else
                            {
                                ///////////Solicitud Efectivo Detalle////////////////////
                                if (MensajeErrorSolicitudDetalle != "-1")
                                {
                                    if (list != null)
                                    {
                                        if (list.Count != 0)
                                        {
                                            foreach (tbSolicitudEfectivoDetalle efectivodetalle in list)
                                            {
                                                var SolicitudDetalle = Convert.ToInt32(MensajeErrorSolicitud);
                                                efectivodetalle.solef_Id     = SolicitudDetalle;
                                                listSolicitudEfectivoDetalle = db.UDP_Vent_tbSolicitudEfectivoDetalle_Apertura_Insert(
                                                    Convert.ToInt32(MensajeErrorSolicitud),
                                                    efectivodetalle.deno_Id,
                                                    efectivodetalle.soled_CantidadSolicitada,
                                                    efectivodetalle.soled_CantidadEntregada,
                                                    efectivodetalle.soled_MontoEntregado
                                                    );
                                                foreach (UDP_Vent_tbSolicitudEfectivoDetalle_Apertura_Insert_Result SolicitudEfectivoDet in listSolicitudEfectivoDetalle)
                                                {
                                                    MensajeErrorSolicitudDetalle = SolicitudEfectivoDet.MensajeError;
                                                    if (MensajeErrorSolicitudDetalle == "-1")
                                                    {
                                                        ModelState.AddModelError("", "No se pudo agregar el registro detalle");
                                                        return(View(tbMovimientoCaja));
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    ModelState.AddModelError("", "No se pudo agregar el registro");
                                    return(View(tbMovimientoCaja));
                                }
                            }
                            Tran.Complete();
                            return(RedirectToAction("Index"));
                        }
                    }
                }
                catch (Exception Ex)
                {
                    tbSolicitudEfectivo tbSolicitudEfectivoa = new tbSolicitudEfectivo();
                    //Caja
                    ViewBag.cja_Id = new SelectList(db.tbCaja, "cja_Id", "cja_Descripcion", tbMovimientoCaja.cja_Id);
                    ///Sucursal
                    ViewBag.suc_Id = new SelectList(db.tbSucursal, "suc_Id", "suc_Descripcion");
                    ///Moneda
                    ViewBag.mnda_Id = new SelectList(db.tbMoneda, "mnda_Id", "mnda_Nombre", tbSolicitudEfectivoa.mnda_Id);

                    //ViewBag.MovimientoCaja = db.tbMovimientoCaja.ToList();
                    Ex.Message.ToString();
                    ModelState.AddModelError("", "No se pudo insertar el registro, favor contacte al administrador." + Ex.Message);
                    return(View(tbMovimientoCaja));
                }
            }
            tbSolicitudEfectivo tbSolicitudEfectivo = new tbSolicitudEfectivo();

            ///Sucursal
            ViewBag.suc_Id = new SelectList(db.tbSucursal, "suc_Id", "suc_Descripcion");
            //Caja
            ViewBag.cja_Id = new SelectList(db.tbCaja, "cja_Id", "cja_Descripcion", tbMovimientoCaja.cja_Id);
            ///Moneda
            ViewBag.mnda_Id = new SelectList(db.tbMoneda, "mnda_Id", "mnda_Nombre", tbSolicitudEfectivo.mnda_Id);
            //ViewBag.MovimientoCaja = db.tbMovimientoCaja.ToList();
            return(View(tbMovimientoCaja));
        }
        public ActionResult CreateAperturaTest01([PexAssumeUnderTest] MovimientoCajaController target, tbMovimientoCaja tbMovimientoCaja)
        {
            ActionResult result = target.CreateApertura(tbMovimientoCaja);

            return(result);
            // TODO: add assertions to method MovimientoCajaControllerTest.CreateAperturaTest01(MovimientoCajaController, tbMovimientoCaja)
        }