Esempio n. 1
0
        public ActionResult Create([Bind(Include =
                                             "prod_Id,prod_Codigo,prod_Descripcion,prov_Id,subc_Id,prod_Precio,prod_UsuarioCrea,prod_FechaCrea,prod_UsuarioModifica,prod_FechaModifica,prod_Img")]
                                   tbProducto tbProducto,
                                   HttpPostedFileBase imgProducto,
                                   HttpPostedFileBase[] imgProductosInfo)
        {
            tbProducto.prod_UsuarioCrea = 3;
            tbProducto.prod_FechaCrea   = DateTime.Now;
            IEnumerable <object> listProducto = null;
            string MensajeError = "";
            IEnumerable <object> listProdImg = null;
            string MensajeErrorProd          = "";
            //var list = (List<tbSubCategoria>)Session["tbSubcategoria"];
            string h = tbProducto.prod_Codigo;

            if (ModelState.IsValid || tbProducto.prod_Descripcion != null)
            {
                try
                {
                    if (imgProducto != null && imgProducto.ContentLength > 0)
                    {
                        string ruta      = help.CrearNombreImagen(10) + DateTime.Now.ToString("yyyyMMddHHmmss") + Path.GetExtension(imgProducto.FileName);
                        string direccion = "Content/img/imgCatalogo/";
                        tbProducto.prod_Img = direccion + ruta;
                    }

                    imgProducto.SaveAs(Server.MapPath("~/" + tbProducto.prod_Img));

                    listProducto = db.UDP_Inv_tbProducto_Insert(help.CrearCodigoProducto(30),
                                                                tbProducto.prod_Descripcion,
                                                                tbProducto.prov_Id,
                                                                tbProducto.subc_Id,
                                                                tbProducto.prod_Precio,
                                                                tbProducto.prod_UsuarioCrea,
                                                                tbProducto.prod_FechaCrea,
                                                                tbProducto.prod_Img);

                    foreach (UDP_Inv_tbProducto_Insert_Result Resultado in listProducto)
                    {
                        MensajeError = Resultado.MensajeError;
                    }
                    if (MensajeError.StartsWith("-1"))
                    {
                        ModelState.AddModelError("", "No se pudo ingresar el registro, contacte al administrador.");

                        ViewBag.prod_UsuarioCrea     = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbProducto.prod_UsuarioCrea);
                        ViewBag.prod_UsuarioModifica = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbProducto.prod_UsuarioModifica);
                        ViewBag.prov_Id = new SelectList(db.tbProveedor, "prov_Id", "prov_Descripcion", tbProducto.prov_Id);
                        ViewBag.subc_Id = new SelectList(db.tbSubCategoria, "subc_Id", "subc_Descripcion", tbProducto.subc_Id);
                        return(View(tbProducto));
                    }
                    else
                    {
                        if (imgProductosInfo != null && imgProductosInfo.Length > 0)
                        {
                            foreach (var img in imgProductosInfo)
                            {
                                string ruta2        = help.CrearNombreImagen(10) + DateTime.Now.ToString("yyyyMMddHHmmss") + Path.GetExtension(img.FileName);
                                string direccion    = "Content/img/imgProductos/";
                                string rutaCompleta = direccion + ruta2;

                                img.SaveAs(Server.MapPath("~/" + rutaCompleta));
                                listProdImg = db.UDP_Inv_tbProductoImagen_Insert(Convert.ToInt16(MensajeError),
                                                                                 rutaCompleta,
                                                                                 3,
                                                                                 DateTime.Now);
                                foreach (UDP_Inv_tbProductoImagen_Insert_Result Res in listProdImg)
                                {
                                    MensajeErrorProd = Res.MensajeError;
                                }
                                if (MensajeErrorProd.StartsWith("-1"))
                                {
                                    ModelState.AddModelError("", "No se pudo mdoficar el registro, contacte al administrador");

                                    ViewBag.prod_UsuarioCrea     = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbProducto.prod_UsuarioCrea);
                                    ViewBag.prod_UsuarioModifica = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbProducto.prod_UsuarioModifica);
                                    ViewBag.prov_Id = new SelectList(db.tbProveedor, "prov_Id", "prov_Descripcion", tbProducto.prov_Id);
                                    ViewBag.subc_Id = new SelectList(db.tbSubCategoria, "subc_Id", "subc_Descripcion", tbProducto.subc_Id);
                                    return(View(tbProducto));
                                }
                            }
                        }
                    }
                }
                catch (Exception Ex)
                {
                    Ex.Message.ToString();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.prod_UsuarioCrea     = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbProducto.prod_UsuarioCrea);
            ViewBag.prod_UsuarioModifica = new SelectList(db.tbUsuarios, "usu_Id", "usu_NombreUsuario", tbProducto.prod_UsuarioModifica);
            ViewBag.prov_Id = new SelectList(db.tbProveedor, "prov_Id", "prov_Descripcion", tbProducto.prov_Id);
            ViewBag.subc_Id = new SelectList(db.tbSubCategoria, "subc_Id", "subc_Descripcion", tbProducto.subc_Id);
            return(View(tbProducto));
        }