Example #1
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);
        }