//para Aplicar una entrada
        public ActionResult EstadoAplicar(int?id)
        {
            try
            {
                tbEntrada            obj  = db.tbEntrada.Find(id);
                IEnumerable <object> list = null;
                var MsjError = "";
                list = db.UDP_Inv_tbEntrada_Update_Estado(id, Models.Helpers.EntradaAplicada, Function.GetUser(), Function.DatetimeNow());
                foreach (UDP_Inv_tbEntrada_Update_Estado_Result obje in list)
                {
                    MsjError = obje.MensajeError;
                }

                if (MsjError == "-1")
                {
                    ModelState.AddModelError("", "No se Actualizo el registro");
                    return(RedirectToAction("Edit/" + id));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                ModelState.AddModelError("", "No se Actualizo el registro");
                return(RedirectToAction("Edit/" + id));
            }
        }
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            tbEntrada tbEntrada = await db.tbEntrada.FindAsync(id);

            ViewBag.UsuarioCrea = db.tbUsuario.Find(tbEntrada.ent_UsuarioCrea).usu_NombreUsuario;
            var UsuarioModfica = tbEntrada.ent_UsuarioModifica;

            if (UsuarioModfica == null)
            {
                ViewBag.UsuarioModifica = "";
            }
            else
            {
                ViewBag.UsuarioModifica = db.tbUsuario.Find(UsuarioModfica).usu_NombreUsuario;
            };
            if (tbEntrada == null)
            {
                return(RedirectToAction("NotFound", "Login"));
            }
            //vista parcial de entrada detalle
            ViewBag.ent_Id      = new SelectList(db.tbEntrada, "ent_Id", "ent_Id");
            ViewBag.prod_Codigo = new SelectList(db.tbProducto, "prod_Codigo", "prod_Descripcion");
            ViewBag.uni_Id      = new SelectList(db.tbUnidadMedida, "uni_Id", "uni_Descripcion");
            return(View(tbEntrada));
        }
        public ActionResult ExportReportGeneral(tbEntrada tbentrada, string ent_FechaElaboracion)
        {
            var Encargado        = Usuario();
            var EncargadoName    = db.tbUsuario.Where(x => x.usu_Id == Encargado).Select(i => new { i.usu_Nombres, i.usu_Apellidos }).FirstOrDefault();
            var TipoEntrada      = tbentrada.tent_Id;
            var FechaElaboracion = Convert.ToDateTime(ent_FechaElaboracion);
            var estado           = tbentrada.estm_Id;
            var bodega           = tbentrada.bod_Id;

            ReporteTipoEntrada EntradaRV  = new ReporteTipoEntrada();
            ReportDocument     rd         = new ReportDocument();
            Reportes           EntradaDST = new Reportes();

            var EntradaTableAdapter = new UDV_Inv_TipoEntradaTableAdapter();

            try
            {
                EntradaTableAdapter.Fill(EntradaDST.UDV_Inv_TipoEntrada, TipoEntrada, estado, bodega, FechaElaboracion);

                EntradaRV.SetDataSource(EntradaDST);
                EntradaRV.SetParameterValue("usuario", EncargadoName.usu_Nombres + " " + EncargadoName.usu_Apellidos);
                Stream stream = EntradaRV.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                stream.Seek(0, SeekOrigin.Begin);
                EntradaRV.Close();
                EntradaRV.Dispose();
                string fileName = "Entrada_List.pdf";
                Response.AppendHeader("Content-Disposition", "inline; filename=" + fileName);
                return(File(stream, "application/pdf"));
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                throw;
            }
        }
        //para que Anular una entrada
        public ActionResult EstadoAnular(tbEntrada cambiaAnular)
        {
            //var maestro = cambiaAnular.ent_Id;
            tbEntrada obj = db.tbEntrada.Find(cambiaAnular.ent_Id);

            try
            {
                IEnumerable <object> list = null;
                var MsjError = "";
                list = db.UDP_Inv_tbEntrada_Update_Anular(cambiaAnular.ent_Id, Models.Helpers.EntradaAnulada, cambiaAnular.entd_RazonAnulada, Function.GetUser(), Function.DatetimeNow());
                foreach (UDP_Inv_tbEntrada_Update_Anular_Result obje in list)
                {
                    MsjError = obje.MensajeError;
                }

                if (MsjError == "-1")
                {
                    ModelState.AddModelError("", "No se Actualizo el registro");
                    //return RedirectToAction("Edit/" + cambiaAnular.ent_Id);
                }
                else
                {
                    return(RedirectToAction("Edit/" + obj));
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                ModelState.AddModelError("", "No se Actualizo el registro");
                return(RedirectToAction("Edit/" + obj));
            }
            return(RedirectToAction("Edit/" + obj));
            //return RedirectToAction("Index");
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            tbEntrada tbEntrada = db.tbEntrada.Find(id);

            if (tbEntrada == null)
            {
                return(RedirectToAction("NotFound", "Login"));
            }
            //*****PuntoEmisionDetalle
            string cas = "uni_IdList";

            System.Web.HttpContext.Current.Items[cas] = new SelectList(db.tbUnidadMedida, "uni_Id", "uni_Descripcion");


            ViewBag.bod_Id  = new SelectList(db.tbBodega, "bod_Id", "bod_Nombre", tbEntrada.bod_Id);
            ViewBag.estm_Id = new SelectList(db.tbEstadoMovimiento, "estm_Id", "estm_Descripcion", tbEntrada.tbEstadoMovimiento.estm_Id);
            ViewBag.prov_Id = new SelectList(db.tbProveedor, "prov_Id", "prov_Nombre", tbEntrada.tbProveedor.prov_Id);
            ViewBag.tent_Id = new SelectList(db.tbTipoEntrada, "tent_Id", "tent_Descripcion", tbEntrada.tbTipoEntrada.tent_Id);
            ViewBag.tdev_Id = new SelectList(db.tbTipoDevolucion, "tdev_Id", "tdev_Descripcion", tbEntrada.ent_RazonDevolucion);
            ViewBag.bbod_Id = new SelectList(db.tbBodega, "bod_Id", "bod_Nombre", tbEntrada.ent_BodegaDestino);

            //vista parcial de entrada detalle
            ViewBag.ent_Id                  = new SelectList(db.tbEntrada, "ent_Id", "ent_Id");
            ViewBag.prod_Codigo             = new SelectList(db.tbProducto, "prod_Codigo", "prod_Descripcion");
            ViewBag.uni_Id                  = new SelectList(db.tbUnidadMedida, "uni_Id", "uni_Descripcion");
            ViewBag.bod_Idd                 = new SelectList(db.tbBodega, "bod_Id", "bod_Nombre");
            ViewBag.BoxD                    = db.tbBox.Where(s => db.tbSalidaDetalle.Where(es => es.box_Codigo == s.box_Codigo && db.tbSalida.Where(sd => sd.sal_Id == es.sal_Id && sd.estm_Id == Models.Helpers.sal_Aplicada).Any()).Any()).ToList();
            ViewBag.Producto                = db.SDP_Inv_tbProducto_Select().ToList();
            Session["_CrearDetalleEntrada"] = null;
            return(View(tbEntrada));
        }
        //para que cambie estado a inactivar
        public ActionResult Estadoactivar(int?id)
        {
            try
            {
                tbEntrada            obj  = db.tbEntrada.Find(id);
                IEnumerable <object> list = null;
                var MsjError = "";
                list = db.UDP_Inv_tbEntrada_Update_Estado(id, Models.Helpers.EntradaEmitida, Function.GetUser(), Function.DatetimeNow());
                foreach (UDP_Inv_tbEntrada_Update_Estado_Result obje in list)
                {
                    MsjError = obje.MensajeError;
                }

                if (MsjError.StartsWith("-1"))
                {
                    TempData["smserror"] = "No se ha podido activar el registro";
                    ViewBag.smserror     = TempData["smserror"];
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception Ex)
            {
                TempData["smserror"] = "No se ha podido activar el registro " + Ex.Message.ToString();
                ViewBag.smserror     = TempData["smserror"];
                return(RedirectToAction("Index"));
            }


            //return RedirectToAction("Index");
        }
Example #7
0
 public ActionResult Details(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     tbEntrada tbEntrada = db.tbEntrada.Find(id);
     if (tbEntrada == null)
     {
         return HttpNotFound();
     }
     return View(tbEntrada);
 }
Example #8
0
 public ActionResult Edit(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     tbEntrada tbEntrada = db.tbEntrada.Find(id);
     if (tbEntrada == null)
     {
         return HttpNotFound();
     }
     ViewBag.ent_UsuarioCrea = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbEntrada.ent_UsuarioCrea);
     ViewBag.ent_UsuarioModifica = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbEntrada.ent_UsuarioModifica);
     ViewBag.prod_Id = new SelectList(db.tbProducto, "prod_Id", "prod_Descripcion", tbEntrada.prod_Id);
     return View(tbEntrada);
 }
Example #9
0
 public ActionResult Edit([Bind(Include = "ent_Id,prod_Id,ent_Existencia,ent_Cantidad,ent_FechaEntrada,ent_UsuarioCrea,ent_FechaCrea,ent_UsuarioModifica,ent_FechaModifica")] tbEntrada tbEntrada)
 {
     tbEntrada.ent_UsuarioModifica = 3;
     tbEntrada.ent_FechaModifica = DateTime.Now;
     IEnumerable<object> listEntrada = null;
     string MensajeError = "";
     if (ModelState.IsValid)
     {
         try
         {
             listEntrada = db.UDP_Inv_tbEntrada_Update(tbEntrada.ent_Id,
                                                       tbEntrada.prod_Id,
                                                       tbEntrada.ent_Existencia,
                                                       tbEntrada.ent_Cantidad,
                                                       tbEntrada.ent_FechaEntrada,
                                                       tbEntrada.ent_UsuarioCrea,
                                                       tbEntrada.ent_FechaCrea,
                                                       tbEntrada.ent_UsuarioModifica,
                                                       tbEntrada.ent_FechaModifica);
             foreach(UDP_Inv_tbEntrada_Update_Result Resultado in listEntrada)
             {
                 MensajeError = Resultado.MensajeError;
             }
             if (MensajeError.StartsWith("-1"))
             {
                 ModelState.AddModelError("", "No se pudo ingresar el detalle, contacte al administrador");
                 return View(tbEntrada);
             }
         }
         catch(Exception Ex)
         {
             Ex.Message.ToString();
         }
         //db.Entry(tbEntrada).State = EntityState.Modified;
         //db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.ent_UsuarioCrea = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbEntrada.ent_UsuarioCrea);
     ViewBag.ent_UsuarioModifica = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbEntrada.ent_UsuarioModifica);
     ViewBag.prod_Id = new SelectList(db.tbProducto, "prod_Id", "prod_Descripcion", tbEntrada.prod_Id);
     return View(tbEntrada);
 }
Example #10
0
        // GET: Entrada/Detalles/5

        public ActionResult Detalles(int codEntrada)
        {
            List <RegistroProducto> lista = (from det in db.tbDetalleEntrada
                                             join pro in db.tbProducto on det.codProducto equals pro.codProducto
                                             where det.codEntrada == codEntrada
                                             select new RegistroProducto
            {
                codProducto = det.codProducto,
                nombre = pro.producto,
                categoria = pro.tbCategoria.categoria,
                presentacion = pro.tbPresentacion.presentacion,
                dosis = RegistroProducto.Dosis(pro.dosis.ToString(), pro.codVolumen.Value, pro.dosis2.ToString(), pro.codVolumen2.Value),
                cantidad = det.cantidad.Value
            }).ToList();
            tbEntrada entrada = (from t in db.tbEntrada where t.codEntrada == codEntrada select t).SingleOrDefault();

            ViewBag.descripcion  = entrada.descripcion;
            ViewBag.fechaEntrada = entrada.fechaEntrada.Value.ToLongDateString();
            return(View(lista));
        }
Example #11
0
        public ActionResult Crear(Datos datos)
        {
            //aqui creo el objeto tbEntrada y todo lo del detalle, esto tu me lo enseƱaste no voy a explicarlo jajajajajajajajaslkdjfa;sldkfja;lskdjf;
            tbEntrada entrada = new tbEntrada
            {
                descripcion  = datos.descripcion,
                fechaEntrada = DateTime.Now
            };

            foreach (Item item in datos.detalle)
            {
                entrada.tbDetalleEntrada.Add(new tbDetalleEntrada
                {
                    codProducto = item.codProducto,
                    cantidad    = item.cantidad
                });
            }
            db.tbEntrada.InsertOnSubmit(entrada);
            db.SubmitChanges();
            return(RedirectToAction("Index"));
        }
        public void insertarTbEntrada(int cprodProv)
        {
            tbEntrada tbEn = new tbEntrada()
            {
                //codEntrada=incremental
                codProductoProveedor = cprodProv,
                codPresentacion      = codigosPresentacion.ElementAt(comboBox1.SelectedIndex),
                costoEntrada         = Convert.ToDecimal(textBox1.Text),
                cantidad             = Convert.ToInt32(textBox2.Text),
                fechaIngreso         = dateTimePicker2.Value.Date,
                fechaVencimiento     = dateTimePicker1.Value.Date
            };

            bdatos.tbEntrada.InsertOnSubmit(tbEn);
            try {
                bdatos.SubmitChanges();
            }
            catch (Exception e) {
                MessageBox.Show("Error: " + e.Message);
            }
        }
        public ActionResult Edit(int?id, [Bind(Include = "ent_Id,ent_NumeroFormato,ent_FechaElaboracion,bod_Id,prov_Id,ent_FacturaCompra,ent_FechaCompra,fact_Id,ent_RazonDevolucion,ent_BodegaDestino,tent_Id,ent_usuarioCrea,ent_FechaCrea,ent_UsuarioModifica,ent_FechaModifica")] tbEntrada tbEntrada)
        {
            IEnumerable <object> ENTRADA = null;
            IEnumerable <object> DETALLE = null;
            string MensajeError          = "";
            string MsjError     = "";
            var    listaDetalle = (List <tbEntradaDetalle>)Session["_CrearDetalleEntrada"];

            ViewBag.bod_Id = new SelectList(db.tbBodega, "bod_Id", "bod_Nombre", tbEntrada.bod_Id);
            ViewBag.ent_RazonDevolucion = new SelectList(db.tbTipoDevolucion, "tdev_Id", "tdev_Descripcion", tbEntrada.ent_RazonDevolucion);
            ViewBag.prov_Id             = new SelectList(db.tbProveedor, "prov_Id", "prov_Nombre", tbEntrada.prov_Id);
            ViewBag.tent_Id             = new SelectList(db.tbTipoEntrada, "tent_Id", "tent_Descripcion", tbEntrada.tent_Id);
            ViewBag.ent_BodegaDestino   = new SelectList(db.tbBodega, "bod_Id", "bod_Nombre", tbEntrada.ent_BodegaDestino);
            ViewBag.prod_Codigo         = new SelectList(db.tbProducto, "prod_Codigo", "prod_Descripcion");
            ViewBag.uni_Id   = new SelectList(db.tbUnidadMedida, "uni_Id", "uni_Descripcion");
            ViewBag.Producto = db.SDP_Inv_tbProducto_Select().ToList();
            ViewBag.BoxD     = db.tbBox.Where(s => db.tbSalidaDetalle.Where(es => es.box_Codigo == s.box_Codigo && db.tbSalida.Where(sd => sd.sal_Id == es.sal_Id && sd.estm_Id == Models.Helpers.sal_Aplicada).Any()).Any()).ToList();
            if (ModelState.IsValid)
            {
                using (TransactionScope _Tran = new TransactionScope())
                {
                    try
                    {
                        ENTRADA = db.UDP_Inv_tbEntrada_Update(tbEntrada.ent_Id,
                                                              tbEntrada.ent_NumeroFormato,
                                                              tbEntrada.ent_FechaElaboracion,
                                                              tbEntrada.bod_Id,
                                                              tbEntrada.prov_Id,
                                                              tbEntrada.ent_FacturaCompra,
                                                              tbEntrada.ent_FechaCompra,
                                                              tbEntrada.fact_Id,
                                                              tbEntrada.ent_RazonDevolucion,
                                                              tbEntrada.ent_BodegaDestino,
                                                              tbEntrada.tent_Id,
                                                              tbEntrada.ent_UsuarioCrea,
                                                              tbEntrada.ent_FechaCrea,
                                                              Function.GetUser(), Function.DatetimeNow());
                        foreach (UDP_Inv_tbEntrada_Update_Result Entrada in ENTRADA)
                        {
                            MsjError = Entrada.MensajeError;
                        }

                        if (MsjError.StartsWith("-1"))
                        {
                            Function.InsertBitacoraErrores("Entrada/Edit", MsjError, "Edit");
                            ModelState.AddModelError("", "1. No se pudo actualizar el registro, favor contacte al administrador.");
                            return(View(tbEntrada));
                        }
                        else
                        {
                            if (listaDetalle != null)
                            {
                                if (listaDetalle.Count > 0)
                                {
                                    foreach (tbEntradaDetalle entd in listaDetalle)
                                    {
                                        entd.entd_UsuarioCrea = 1;
                                        entd.entd_FechaCrea   = DateTime.Now;

                                        DETALLE = db.UDP_Inv_tbEntradaDetalle_Insert(Convert.ToInt16(MsjError)
                                                                                     , entd.prod_Codigo
                                                                                     , entd.entd_Cantidad,
                                                                                     entd.box_Codigo,
                                                                                     Function.GetUser(), Function.DatetimeNow());
                                        foreach (UDP_Inv_tbEntradaDetalle_Insert_Result B_detalle in DETALLE)
                                        {
                                            MensajeError = B_detalle.MensajeError;
                                        }
                                        if (MensajeError.StartsWith("-1"))
                                        {
                                            Function.InsertBitacoraErrores("Entrada/Edit", MsjError, "Edit");
                                            ModelState.AddModelError("", "No se pudo insertar el registro detalle, favor contacte al administrador.");
                                            return(View(tbEntrada));
                                        }
                                    }
                                }
                            }
                            _Tran.Complete();
                        }
                    }
                    catch (Exception Ex)
                    {
                        Function.InsertBitacoraErrores("Entrada/Create", Ex.Message.ToString(), "Create");
                        ModelState.AddModelError("", "2. No se pudo actualizar el registro, favor contacte al administrador.");
                        return(View(tbEntrada));
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(tbEntrada));
        }
Example #14
0
        public ActionResult Create([Bind(Include = "ent_FechaElaboracion,bod_Id,estm_Id,prov_Id,ent_FacturaCompra,ent_FechaCompra,fact_Id,ent_RazonDevolucion,ent_BodegaDestino,tent_Id")] tbEntrada tbEntrada)
        {
            IEnumerable <object> ENTRADA = null;
            IEnumerable <object> DETALLE = null;

            tbEntrada.estm_Id = Helpers.EntradaEmitida;
            string MensajeError = "";
            string MsjError     = "";

            var listaDetalle = (List <tbEntradaDetalle>)Session["_CrearDetalleEntrada"];

            ViewBag.bod_Id            = new SelectList(db.tbBodega, "bod_Id", "bod_Nombre", tbEntrada.bod_Id);
            ViewBag.tdev_Id           = new SelectList(db.tbTipoDevolucion, "tdev_Id", "tdev_Descripcion", tbEntrada.ent_RazonDevolucion);
            ViewBag.prov_Id           = new SelectList(db.tbProveedor, "prov_Id", "prov_Nombre", tbEntrada.prov_Id);
            ViewBag.tent_Id           = new SelectList(db.tbTipoEntrada, "tent_Id", "tent_Descripcion", tbEntrada.tent_Id);
            ViewBag.ent_BodegaDestino = new SelectList(db.tbBodega, "bod_Id", "bod_Nombre", tbEntrada.ent_BodegaDestino);
            ViewBag.BoxD     = db.tbBox.Where(s => db.tbSalidaDetalle.Where(es => es.box_Codigo == s.box_Codigo && db.tbSalida.Where(sd => sd.sal_Id == es.sal_Id && sd.estm_Id == Helpers.sal_Aplicada).Any()).Any()).ToList();
            ViewBag.Producto = db.SDP_Inv_tbProducto_Select().ToList();

            if (ModelState.IsValid)
            {
                if (listaDetalle == null)
                {
                    TempData["smserror"] = " No Puede Ingresar Una Entrada Sin Detalle.";
                    ViewBag.smserror     = TempData["smserror"];
                    return(View());
                }
                else
                {
                    using (TransactionScope _Tran = new TransactionScope())
                    {
                        try
                        {
                            ENTRADA = db.UDP_Inv_tbEntrada_Insert(
                                tbEntrada.ent_FechaElaboracion,
                                tbEntrada.bod_Id,
                                tbEntrada.estm_Id,
                                tbEntrada.prov_Id,
                                tbEntrada.ent_FacturaCompra,
                                tbEntrada.ent_FechaCompra,
                                tbEntrada.fact_Id,
                                tbEntrada.ent_RazonDevolucion,
                                tbEntrada.ent_BodegaDestino,
                                tbEntrada.tent_Id,
                                Function.GetUser(), Function.DatetimeNow());
                            foreach (UDP_Inv_tbEntrada_Insert_Result Entrada in ENTRADA)
                            {
                                MsjError = Entrada.MensajeError;
                            }

                            if (MsjError.StartsWith("-1"))
                            {
                                Function.InsertBitacoraErrores("Entrada/Create", MsjError, "Create");
                                ModelState.AddModelError("", "1. No se pudo insertar el registro, favor contacte al administrador.");
                                return(View(tbEntrada));
                            }
                            else if (MsjError.StartsWith("-2"))
                            {
                                Function.InsertBitacoraErrores("Entrada/Create", MsjError, "Create");
                                ModelState.AddModelError("", "El codigo de la FACTURA ya Existe.");
                                return(View(tbEntrada));
                            }
                            else
                            {
                                if (listaDetalle != null)
                                {
                                    if (listaDetalle.Count > 0)
                                    {
                                        foreach (tbEntradaDetalle entd in listaDetalle)
                                        {
                                            if (entd.box_Codigo == null)
                                            {
                                                entd.box_Codigo = "0";
                                            }
                                            DETALLE = db.UDP_Inv_tbEntradaDetalle_Insert(Convert.ToInt16(MsjError)
                                                                                         , entd.prod_Codigo
                                                                                         , entd.entd_Cantidad
                                                                                         , entd.box_Codigo,
                                                                                         Function.GetUser(), Function.DatetimeNow());
                                            foreach (UDP_Inv_tbEntradaDetalle_Insert_Result B_detalle in DETALLE)
                                            {
                                                MensajeError = B_detalle.MensajeError;
                                            }
                                            if (MensajeError.StartsWith("-1"))
                                            {
                                                Function.InsertBitacoraErrores("Entrada/Create", MsjError, "Create");
                                                ModelState.AddModelError("", "No se pudo insertar el registro detalle, favor contacte al administrador.");
                                                return(View(tbEntrada));
                                            }
                                        }
                                    }
                                }
                                _Tran.Complete();
                            }
                        }
                        catch (Exception Ex)
                        {
                            Function.InsertBitacoraErrores("Entrada/Create", Ex.Message.ToString(), "Create");
                            ModelState.AddModelError("", "2. No se pudo insertar el registro, favor contacte al administrador.");
                            return(View(tbEntrada));
                        }
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(tbEntrada));
        }
Example #15
0
        public ActionResult Create([Bind(Include = "prod_Id,ent_Existencia,ent_Cantidad,ent_FechaEntrada,ent_UsuarioCrea,ent_FechaCrea")] tbEntrada tbEntrada)
        {
            tbEntrada.ent_UsuarioCrea = 3;
            tbEntrada.ent_FechaCrea = DateTime.Now;
            tbEntrada.ent_FechaEntrada = DateTime.Now;

            IEnumerable<object> listEntrada = null;
            string MensajeError = "";
            IEnumerable<object> listInvFi = null;
            string MensajeErrorInv = "";
            var list = (List<InventarioFisico>)Session["InventarioFisico"];
            if (ModelState.IsValid)
            {
                try
                {
                    listEntrada = db.UDP_Inv_tbEntrada_Insert(tbEntrada.prod_Id,
                                                              tbEntrada.ent_Existencia,
                                                              tbEntrada.ent_Cantidad,
                                                              tbEntrada.ent_FechaEntrada,
                                                              tbEntrada.ent_UsuarioCrea,
                                                              tbEntrada.ent_FechaCrea);

                    foreach (UDP_Inv_tbEntrada_Insert_Result Resultado in listEntrada)
                    {
                        MensajeError = Resultado.MensajeError;
                    }
                    if (MensajeError.StartsWith("-1"))
                    {
                        ModelState.AddModelError("", "No se pudo ingresar el detalle, contacte al administrador");
                        return View(tbEntrada);
                    }
                    else
                    {
                        if(list != null && list.Count >=0)
                        {
                            foreach (InventarioFisico Sub in list)
                            {
                                Sub.invf_total = Sub.invf_total + tbEntrada.ent_Cantidad;
                                listInvFi = db.UDP_Inv_InventarioFisico_Update(Sub.invf_id,
                                                                                Sub.prod_Id,
                                                                                Sub.invf_total,
                                                                                Sub.invf_FechaInventario,
                                                                                Sub.invf_UsuarioCrea,
                                                                                Sub.invf_FechaCrea,
                                                                                Sub.invf_UsuarioModifica,
                                                                                Sub.invf_FechaModifica);

                                foreach (UDP_Inv_InventarioFisico_Update_Result Res in listInvFi)
                                {
                                    MensajeErrorInv = Res.MensajeError;
                                }
                                if (MensajeErrorInv.StartsWith("-1"))
                                {
                                    ModelState.AddModelError("", "No se pudo mdoficar el registro, contacte al administrador");
                                    return View(tbEntrada);
                                }
                            }

                        }
                    }
                }
                catch (Exception Ex)
                {
                    Ex.Message.ToString();
                }

                //db.tbEntrada.Add(tbEntrada);
                //db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.ent_UsuarioCrea = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbEntrada.ent_UsuarioCrea);
            ViewBag.ent_UsuarioModifica = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbEntrada.ent_UsuarioModifica);
            ViewBag.prod_Id = new SelectList(db.tbProducto, "prod_Id", "prod_Descripcion", tbEntrada.prod_Id);
            return View(tbEntrada);
        }