public JsonResult GuardarBoxDetalle(tbBoxDetalle GuardarSalidas)
        {
            {
                string MsjError = "";

                try
                {
                    IEnumerable <object> list = null;
                    list = db.UDP_Inv_tbBoxDetalle_Insert(GuardarSalidas.box_Codigo,
                                                          GuardarSalidas.prod_Codigo,
                                                          GuardarSalidas.boxd_Cantidad,
                                                          Function.GetUser(), Function.DatetimeNow());

                    foreach (UDP_Inv_tbBoxDetalle_Insert_Result sal in list)
                    {
                        MsjError = (sal.MensajeError);
                    }

                    if (MsjError.Substring(0, 1) == "-1")
                    {
                        ModelState.AddModelError("", "No se Guardo el Registro");
                    }
                    else
                    {
                        return(Json("Index"));
                    }
                }
                catch (Exception Ex)
                {
                    Ex.Message.ToString();
                    ModelState.AddModelError("", "No se Guardo el registro");
                }
                return(Json("Index"));
            }
        }
        public ActionResult EliminarProductoSubCategoria(int?id)
        {
            try
            {
                tbBoxDetalle         obj  = db.tbBoxDetalle.Find(id);
                IEnumerable <object> list = null;
                var MsjError = "";
                list = db.UDP_Inv_tbBoxDetalle_Delete(id);
                foreach (UDP_Inv_tbBoxDetalle_Delete_Result obje in list)
                {
                    MsjError = obje.MensajeError;
                }

                if (MsjError == "-1")
                {
                    ModelState.AddModelError("", "No se puede borrar el registro");
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                ModelState.AddModelError("", "No se puede borrar el registro");
                return(RedirectToAction("Index"));
            }

            //return RedirectToAction("Index");
        }
        public JsonResult UpdateBoxDetalle(tbBoxDetalle EditarBoxDetalle)
        {
            string Msj = "";

            try
            {
                IEnumerable <object> list = null;

                tbBoxDetalle vsalida = db.tbBoxDetalle.Find(EditarBoxDetalle.boxd_Id);
                list = db.UDP_Inv_tbBoxDetalle_Update(EditarBoxDetalle.boxd_Id,
                                                      EditarBoxDetalle.box_Codigo,
                                                      EditarBoxDetalle.prod_Codigo,
                                                      EditarBoxDetalle.boxd_Cantidad,
                                                      EditarBoxDetalle.boxd_UsuarioCrea,
                                                      EditarBoxDetalle.boxd_FechaCrea, Function.GetUser(), Function.DatetimeNow());
                foreach (UDP_Inv_tbBoxDetalle_Update_Result salida in list)
                {
                    Msj = salida.MensajeError;
                }

                if (Msj.StartsWith("-1"))
                {
                    Msj = "-1";
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                ModelState.AddModelError("", "No se Guardo el registro");
                Msj = "-1";
            }
            return(Json(Msj, JsonRequestBehavior.AllowGet));
        }
        public ActionResult EditBoxDetalle(tbBoxDetalle data)
        {
            try
            {
                tbBoxDetalle         pBoxDetalle  = db.tbBoxDetalle.Find(data.boxd_Id);
                var                  MensajeError = "";
                IEnumerable <object> list         = null;
                list = db.UDP_Inv_tbBoxDetalle_Update(data.boxd_Id,
                                                      pBoxDetalle.box_Codigo,
                                                      data.prod_Codigo,
                                                      data.boxd_Cantidad, pBoxDetalle.boxd_UsuarioCrea, pBoxDetalle.boxd_FechaCrea, Function.GetUser(), Function.DatetimeNow());

                foreach (UDP_Inv_tbBoxDetalle_Update_Result RSBoxDetalle in list)
                {
                    MensajeError = RSBoxDetalle.MensajeError;
                }
                if (MensajeError == "-1")
                {
                    ModelState.AddModelError("", "No se pudo actualizar el registro, favor contacte al administrador.");
                    return(PartialView("_EditBoxDetalle"));
                }
                else
                {
                    return(RedirectToAction("Edit", "Box", new { @id = data.box_Codigo }));
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                ModelState.AddModelError("", "No se pudo actualizar el registro, favor contacte al administrador.");
                return(PartialView("_EditBoxDetalle", data));
            }
        }
        public JsonResult RemovesBoxDetalle(tbBoxDetalle BoxDetalle)
        {
            var list = (List <tbBoxDetalle>)Session["BoxDetalle"];

            if (list != null)
            {
                var itemToRemove = list.Single(r => r.prod_Codigo == BoxDetalle.prod_Codigo);
                list.Remove(itemToRemove);
                Session["BoxDetalle"] = list;
            }
            return(Json("", JsonRequestBehavior.AllowGet));
        }
        public JsonResult RemoveBoxDetalle(tbBoxDetalle BoxDetalle)
        {
            var list = (List <tbBoxDetalle>)Session["tbBoxDetalle"];

            if (list != null)
            {
                var itemToRemove = list.Single(r => r.boxd_UsuarioCrea == BoxDetalle.boxd_UsuarioCrea);
                list.Remove(itemToRemove);
                Session["tbBoxDetalle"] = list;
            }
            return(Json("", JsonRequestBehavior.AllowGet));
        }
        public JsonResult SaveNewDetail(tbBoxDetalle BoxDetalle)
        {
            var list                            = (List <tbBoxDetalle>)Session["BoxDetalle"];
            var MensajeError                    = "0";
            var MensajeErrorDetalle             = "0";
            IEnumerable <object> listBoxDetalle = null;

            try
            {
                if (list != null)
                {
                    if (list.Count != 0)
                    {
                        foreach (tbBoxDetalle Detalle in list)
                        {
                            Detalle.box_Codigo = MensajeError;
                            listBoxDetalle     = db.UDP_Inv_tbBoxDetalle_Insert(
                                BoxDetalle.box_Codigo,
                                Detalle.prod_Codigo,
                                Detalle.boxd_Cantidad, Function.GetUser(), Function.DatetimeNow());
                            foreach (UDP_Inv_tbBoxDetalle_Insert_Result spDetalle in listBoxDetalle)
                            {
                                MensajeErrorDetalle = spDetalle.MensajeError;
                                if (MensajeError == "-1")
                                {
                                    ModelState.AddModelError("", "No se pudo agregar el registro detalle");
                                    return(Json("", JsonRequestBehavior.AllowGet));
                                }
                            }
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Vacio");
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
            }

            return(Json("", JsonRequestBehavior.AllowGet));
        }
        public JsonResult SaveBoxDetalle(tbBoxDetalle BoxDetalle, string data_producto)
        {
            var     datos         = "";
            decimal CantidadVieja = 0;
            decimal CantidadNueva = 0;
            //data_producto = SalidaDetalle.prod_Codigo;
            decimal             data_cantidad     = BoxDetalle.boxd_Cantidad;
            List <tbBoxDetalle> sessionBoxDetalle = new List <tbBoxDetalle>();
            var list = (List <tbBoxDetalle>)Session["BoxDetalle"];

            if (list == null)
            {
                sessionBoxDetalle.Add(BoxDetalle);
                Session["BoxDetalle"] = sessionBoxDetalle;
            }
            else
            {
                foreach (var vBoxDetalle in list)
                {
                    if (vBoxDetalle.prod_Codigo == data_producto)
                    {
                        datos = data_producto;
                        foreach (var viejo in list)
                        {
                            if (viejo.prod_Codigo == vBoxDetalle.prod_Codigo)
                            {
                                CantidadVieja = viejo.boxd_Cantidad;
                            }
                        }
                        CantidadNueva             = CantidadVieja + data_cantidad;
                        vBoxDetalle.boxd_Cantidad = CantidadNueva;
                        return(Json(datos, JsonRequestBehavior.AllowGet));
                    }
                }
                list.Add(BoxDetalle);
                Session["BoxDetalle"] = list;
                return(Json(datos, JsonRequestBehavior.AllowGet));
            }
            return(Json(datos, JsonRequestBehavior.AllowGet));
        }