Exemple #1
0
        public ActionResult EditarPost(int?id)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cliente clienteToUpdate = db.Cliente.Find(id);

            if (TryUpdateModel(clienteToUpdate, "",
                               new string[] { "Nombre", "Telefono", "Correo", "Direccion", "Estado" }))
            {
                clienteToUpdate.Usuario = Session["UsuarioActual"].ToString();
                try
                {
                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
                catch (RetryLimitExceededException /* dex */)
                {
                    ModelState.AddModelError("", "Imposible guardar los cambios. Intentelo de nuevo, si el problema persiste, contacte el administrador del sistema.");
                }
            }
            return(View(clienteToUpdate));
        }
Exemple #2
0
        public ActionResult Registrar(Cliente cliente)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            try
            {
                ModelState.Remove("Usuario");
                cliente.Usuario = Session["UsuarioActual"].ToString();

                if (ModelState.IsValid)
                {
                    db.Cliente.Add(cliente);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (RetryLimitExceededException /* dex */)
            {
                ModelState.AddModelError("", "Imposible guardar cambios. Intentelo de nuevo, y si el problema persiste contacte el administrador del sistema.");
            }
            return(View(cliente));
        }
        // GET: Usuario/Borrar
        public ActionResult Borrar(string id)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            Usuario usuarioToUpdate = db.Usuario.Find(id);

            try
            {
                usuarioToUpdate.Usuario1 = Session["UsuarioActual"].ToString();
                usuarioToUpdate.Estado   = 0;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch (RetryLimitExceededException /* dex */)
            {
                ModelState.AddModelError("", "Imposible eliminar el registro. Intentelo de nuevo, si el problema persiste, contacte el administrador del sistema.");
            }

            return(RedirectToAction("Index"));
        }
Exemple #4
0
        // GET: Material/Create
        public ActionResult Registrar()
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.CatMaterial    = new SelectList(db.CategoriaMat, "IdCategoria", "Nombre");
            ViewBag.ColorMaterial  = new SelectList(db.ColorMat, "IdColor", "Nombre");
            ViewBag.SubCatMaterial = new SelectList(db.SubCategoria, "IdSubCatMat", "Nombre");
            ViewBag.Proveedor      = new SelectList(db.Proveedor, "IdProveedor", "Nombre");
            ViewBag.IdTipoMaterial = new SelectList((from s in db.TipoMaterial
                                                     select new
            {
                s.IdTipoMaterial,
                s.Nombre
            }
                                                     ), "IdTipoMaterial", "Nombre");

            return(View());
        }
Exemple #5
0
        public ActionResult Registrar([Bind(Include = " IdProveedor,Nombre, Correo, Direccion, Telefono, Estado, Usuario")] Proveedor proveedor)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            try
            {
                ModelState.Remove("Usuario");
                proveedor.Usuario = Session["UsuarioActual"].ToString();

                if (ModelState.IsValid)
                {
                    db.Proveedor.Add(proveedor);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (RetryLimitExceededException /* dex */)
            {
                ModelState.AddModelError("", "Imposible guardar cambios. Intentelo de nuevo, y si el problema persiste contacte el administrador del sistema.");
            }
            return(View(proveedor));
        }
Exemple #6
0
        // GET: Cliente/Registrar
        public ActionResult Registrar()
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
Exemple #7
0
        // GET: Productoes
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            var producto = db.Producto.Include(p => p.TipoProducto);

            ViewBag.CurrentSort  = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Nombre" : "";

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewBag.CurrentFilter = searchString;
            producto = from s in db.Producto
                       select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                producto = producto.Where(s => s.Nombre.Contains(searchString));
            }
            switch (sortOrder)
            {
            case "Nombre":
                producto = producto.OrderByDescending(s => s.Nombre);
                break;

            default:      // Name ascending
                producto = producto.OrderBy(s => s.Nombre);
                break;
            }

            int pageSize   = 5;
            int pageNumber = (page ?? 1);

            return(View(producto.ToPagedList(pageNumber, pageSize)));
        }
        public ActionResult EditarPost(string id, Usuario usuario)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Rol = new SelectList((from s in db.Rol
                                          where s.Estado == 1
                                          select new
            {
                s.IdRol,
                s.Nombre
            }
                                          ), "IdRol", "Nombre");
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            ModelState.Remove("Usuario1");
            usuario.Usuario1 = Session["UsuarioActual"].ToString();
            Usuario usuarioToUpdate = db.Usuario.Find(id);


            if (ModelState.IsValid)
            {
                if (TryUpdateModel(usuarioToUpdate, "",
                                   new string[] { "Contraseña", "IdRol", "Estado", "Usuario1" }))
                {
                    usuarioToUpdate.Contraseña = Encriptar(usuario.Contraseña);
                    try
                    {
                        db.SaveChanges();

                        return(RedirectToAction("Index"));
                    }
                    catch (RetryLimitExceededException /* dex */)
                    {
                        ModelState.AddModelError("", "Imposible guardar los cambios. Intentelo de nuevo, si el problema persiste, contacte el administrador del sistema.");
                    }
                }
            }
            return(View(usuarioToUpdate));
        }
Exemple #9
0
        // GET: Productoes/Create
        public ActionResult Registrar()
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.IdTipoProducto = new SelectList(db.TipoProducto, "IdTipoProducto", "Nombre");
            ViewBag.Categorias     = new SelectList(db.CategoriaMat, "IdCategoria", "Nombre");
            return(View());
        }
Exemple #10
0
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.CurrentSort  = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Nombre" : "";

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewBag.CurrentFilter = searchString;
            var Materiales = from s in db.Material
                             select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                Materiales = Materiales.Where(s => s.Nombre.Contains(searchString) || s.CategoriaMat.Nombre.Contains(searchString) ||
                                              s.IdMaterial.ToString().Contains(searchString));
            }
            switch (sortOrder)
            {
            case "Nombre":
                Materiales = Materiales.OrderByDescending(s => s.Nombre);
                break;

            default:      // Name ascending
                Materiales = Materiales.OrderBy(s => s.Nombre);
                break;
            }

            int pageSize   = 5;
            int pageNumber = (page ?? 1);

            return(View(Materiales.ToPagedList(pageNumber, pageSize)));
        }
        // GET: Usuario
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.CurrentSort       = sortOrder;
            ViewBag.IdUsuarioSortParm = String.IsNullOrEmpty(sortOrder) ? "IdUsuario" : "";

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewBag.CurrentFilter = searchString;

            var usuarios = from s in db.Usuario
                           select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                usuarios = usuarios.Where(s => s.IdUsuario.Contains(searchString));
            }
            switch (sortOrder)
            {
            case "IdUsuario":
                usuarios = usuarios.OrderByDescending(s => s.IdUsuario);
                break;

            default:      // IdUsuario ascending
                usuarios = usuarios.OrderBy(s => s.IdUsuario);
                break;
            }

            int pageSize   = 10;
            int pageNumber = (page ?? 1);

            return(View(usuarios.ToPagedList(pageNumber, pageSize)));
        }
        public ActionResult Registrar(Usuario usuario)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Rol = new SelectList((from s in db.Rol
                                          where s.Estado == 1
                                          select new
            {
                s.IdRol,
                s.Nombre
            }
                                          ), "IdRol", "Nombre");
            try
            {
                ModelState.Remove("Usuario1");
                usuario.Contraseña = Encriptar(usuario.Contraseña);
                usuario.Usuario1   = Session["UsuarioActual"].ToString();

                Usuario validaUsuario = db.Usuario.Find(usuario.IdUsuario);

                if (validaUsuario == null)
                {
                    if (ModelState.IsValid)
                    {
                        db.Usuario.Add(usuario);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch (RetryLimitExceededException /* dex */)
            {
                ModelState.AddModelError("", "Imposible guardar cambios. Intentelo de nuevo, y si el problema persiste contacte el administrador del sistema.");
            }
            return(View(usuario));
        }
        // GET: Usuario/Registrar
        public ActionResult Registrar()
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Rol = new SelectList((from s in db.Rol
                                          where s.Estado == 1
                                          select new
            {
                s.IdRol,
                s.Nombre
            }
                                          ), "IdRol", "Nombre");
            return(View());
        }
        // GET: Respaldo
        public ActionResult RepaldarBD(string tipoOperacion)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (tipoOperacion == "Respaldo")
            {
                EjecutarRespaldo();
            }
            if (tipoOperacion == "Restauracion")
            {
                EjecutarRestauracion();
            }

            return(View());
        }
Exemple #15
0
        public ActionResult Editar(int?id)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cliente cliente = db.Cliente.Find(id);

            if (cliente == null)
            {
                return(HttpNotFound());
            }
            return(PartialView(cliente));
        }
        public ActionResult Editar(string id)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Rol = new SelectList((from s in db.Rol
                                          where s.Estado == 1
                                          select new
            {
                s.IdRol,
                s.Nombre
            }
                                          ), "IdRol", "Nombre");
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Usuario usuario = db.Usuario.Find(id);

            if (usuario != null)
            {
                usuario.Contraseña = DesEncriptar(usuario.Contraseña);
            }

            if (usuario == null)
            {
                return(HttpNotFound());
            }
            return(PartialView(usuario));
        }
Exemple #17
0
        public ActionResult Editar(int?id)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.CatMaterial = new SelectList((from s in db.CategoriaMat
                                                  where s.Estado == 1
                                                  select new
            {
                s.IdCategoria,
                s.Nombre
            }
                                                  ), "IdCategoria", "Nombre");
            ViewBag.Proveedor = new SelectList((from s in db.Proveedor
                                                where s.Estado == 1
                                                select new
            {
                s.IdProveedor,
                s.Nombre
            }
                                                ), "IdProveedor", "Nombre");
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Material material = db.Material.Find(id);

            if (material == null)
            {
                return(HttpNotFound());
            }
            if (material.IdCatMat != 1)
            {
                foreach (var item in (List <ColorMaterial>)material.ColorMaterial.ToList())
                {
                    ColorMaterial color = new ColorMaterial();
                    color.IdMaterial     = item.IdMaterial;
                    color.IdColorMat     = item.IdColorMat;
                    color.Costo          = item.Costo;
                    color.NombreMaterial = item.ColorMat.Nombre.Trim();
                    Listacolores.Add(color);
                }
                TempData["ListaColores"] = Listacolores;
            }
            ViewBag.ColorMaterial = new SelectList((from s in db.ColorMat
                                                    where s.IdCatMaterial == material.IdCatMat && s.Estado == 1
                                                    select new
            {
                IdColor = s.IdColor,
                Nombre = s.Nombre
            }), "IdColor", "Nombre");
            ViewBag.SubCatMaterial = new SelectList((from s in db.SubCategoria
                                                     where s.IdCatMat == material.IdCatMat && s.Estado == 1
                                                     select new
            {
                IdSubCatMat = s.IdSubCatMat,
                Nombre = s.Nombre
            }), "IdSubCatMat", "Nombre");
            ViewBag.TipoMateriales = new SelectList((from s in db.TipoMaterial
                                                     where s.IdCatMat == material.IdCatMat && s.Estado == 1
                                                     select new {
                s.IdTipoMaterial,
                s.Nombre
            }
                                                     ), "IdTipoMaterial", "Nombre");
            return(PartialView(material));
        }
Exemple #18
0
        public ActionResult Editar(int?id, Material material)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.CatMaterial = new SelectList((from s in db.CategoriaMat
                                                  where s.Estado == 1
                                                  select new
            {
                s.IdCategoria,
                s.Nombre
            }
                                                  ), "IdCategoria", "Nombre");
            ViewBag.Proveedor = new SelectList((from s in db.Proveedor
                                                where s.Estado == 1
                                                select new
            {
                s.IdProveedor,
                s.Nombre
            }
                                                ), "IdProveedor", "Nombre");
            ViewBag.ColorMaterial = new SelectList((from s in db.ColorMat
                                                    where s.IdCatMaterial == material.IdCatMat && s.Estado == 1
                                                    select new
            {
                IdColor = s.IdColor,
                Nombre = s.Nombre
            }), "IdColor", "Nombre");
            ViewBag.SubCatMaterial = new SelectList((from s in db.SubCategoria
                                                     where s.IdCatMat == material.IdCatMat && s.Estado == 1
                                                     select new
            {
                IdSubCatMat = s.IdSubCatMat,
                Nombre = s.Nombre
            }), "IdSubCatMat", "Nombre");
            ViewBag.TipoMateriales = new SelectList((from s in db.TipoMaterial
                                                     where s.IdCatMat == material.IdCatMat && s.Estado == 1
                                                     select new
            {
                s.IdTipoMaterial,
                s.Nombre
            }
                                                     ), "IdTipoMaterial", "Nombre");
            try
            {
                ModelState.Remove("Usuario");
                material.Usuario = Session["UsuarioActual"].ToString();

                if (ModelState.IsValid)
                {
                    material.IdMaterial      = id.Value;
                    db.Entry(material).State = EntityState.Modified;
                    db.SaveChanges();
                    if (material.IdCatMat != 1)
                    {
                        var colores = from s in db.ColorMaterial
                                      select s;
                        colores = colores.Where(s => s.IdMaterial == id
                                                );
                        Listacolores = colores.ToList();
                        foreach (ColorMaterial item in Listacolores)
                        {
                            db.ColorMaterial.Attach(item);
                            db.ColorMaterial.Remove(item);
                            db.SaveChanges();
                        }
                        if (TempData["ListaColores"] != null)
                        {
                            foreach (ColorMaterial item in (List <ColorMaterial>)TempData["ListaColores"])
                            {
                                item.IdMaterial = material.IdMaterial;
                                db.ColorMaterial.Add(item);
                            }
                            db.SaveChanges();
                            TempData["ListaColores"] = null;
                        }
                        else
                        {
                            ModelState.AddModelError("ColorMaterial", "Debe registrar al menos un Color.");
                            return(PartialView(material));
                        }
                    }


                    return(RedirectToAction("Index"));
                }
            }
            catch (RetryLimitExceededException /* dex */)
            {
                ModelState.AddModelError("", "Imposible guardar los cambios. Intentelo de nuevo, si el problema persiste, contacte el administrador del sistema.");
            }
            return(PartialView(material));
        }
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page, int?tabla)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (tabla != null)
            {
                Session["Currentabla"] = tabla;
            }

            ViewBag.CurrentSort  = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "Nombre" : "";

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;
            var Parametros      = new List <Parametro>();
            var ParametroResult = Parametros.AsQueryable();
            int pageSize        = 5;
            int pageNumber      = (page ?? 1);

            if (tabla == null && Session["Currentabla"] != null)
            {
                tabla = (int)Session["Currentabla"];
            }
            switch (tabla)
            {
            case 1:
                ViewBag.CurrentFilter = searchString;
                var Categorias = from s in db.CategoriaMat
                                 select s;
                if (!String.IsNullOrEmpty(searchString))
                {
                    Categorias = Categorias.Where(s => s.Nombre.Contains(searchString)
                                                  );
                }
                foreach (var item in Categorias)
                {
                    Parametro p1 = new Parametro();
                    p1.Id     = item.IdCategoria;
                    p1.Nombre = item.Nombre.Trim();
                    p1.Estado = item.Estado.ToString();
                    Parametros.Add(p1);
                }
                ParametroResult = Parametros.AsQueryable();

                switch (sortOrder)
                {
                case "Nombre":
                    ParametroResult = ParametroResult.OrderByDescending(s => s.Nombre);
                    break;

                default:          // Name ascending
                    ParametroResult = ParametroResult.OrderBy(s => s.Nombre);
                    break;
                }

                pageSize   = 5;
                pageNumber = (page ?? 1);
                return(View(ParametroResult.ToPagedList(pageNumber, pageSize)));

            case 2:
                ViewBag.CatVisible    = 1;
                ViewBag.CurrentFilter = searchString;
                var colorMaterial = from s in db.ColorMat
                                    select s;
                if (!String.IsNullOrEmpty(searchString))
                {
                    colorMaterial = colorMaterial.Where(s => s.Nombre.Contains(searchString)
                                                        );
                }
                foreach (var item in colorMaterial)
                {
                    Parametro p1 = new Parametro();
                    p1.Id        = item.IdColor;
                    p1.NombreCat = item.CategoriaMat.Nombre.Trim();
                    p1.Nombre    = item.Nombre.Trim();
                    p1.Estado    = item.Estado.ToString();
                    Parametros.Add(p1);
                }
                ParametroResult = Parametros.AsQueryable();
                switch (sortOrder)
                {
                case "Nombre":
                    ParametroResult = ParametroResult.OrderByDescending(s => s.Nombre);
                    break;

                default:          // Name ascending
                    ParametroResult = ParametroResult.OrderBy(s => s.Nombre);
                    break;
                }

                pageSize   = 5;
                pageNumber = (page ?? 1);
                return(View(ParametroResult.ToPagedList(pageNumber, pageSize)));

            case 3:
                ViewBag.CurrentFilter = searchString;
                var tipoProducto = from s in db.TipoProducto
                                   select s;
                if (!String.IsNullOrEmpty(searchString))
                {
                    tipoProducto = tipoProducto.Where(s => s.Nombre.Contains(searchString)
                                                      );
                }
                foreach (var item in tipoProducto)
                {
                    Parametro p1 = new Parametro();
                    p1.Id     = item.IdTipoProducto;
                    p1.Nombre = item.Nombre.Trim();
                    p1.Estado = item.Estado.ToString();
                    Parametros.Add(p1);
                }
                ParametroResult = Parametros.AsQueryable();

                switch (sortOrder)
                {
                case "Nombre":
                    ParametroResult = ParametroResult.OrderByDescending(s => s.Nombre);
                    break;

                default:          // Name ascending
                    ParametroResult = ParametroResult.OrderBy(s => s.Nombre);
                    break;
                }

                pageSize   = 5;
                pageNumber = (page ?? 1);
                return(View(ParametroResult.ToPagedList(pageNumber, pageSize)));

            case 4:
                ViewBag.CurrentFilter = searchString;
                var rol = from s in db.Rol
                          select s;
                if (!String.IsNullOrEmpty(searchString))
                {
                    rol = rol.Where(s => s.Nombre.Contains(searchString)
                                    );
                }
                foreach (var item in rol)
                {
                    Parametro p1 = new Parametro();
                    p1.Id     = item.IdRol;
                    p1.Nombre = item.Nombre.Trim();
                    p1.Estado = item.Estado.ToString();
                    Parametros.Add(p1);
                }
                ParametroResult = Parametros.AsQueryable();

                switch (sortOrder)
                {
                case "Nombre":
                    ParametroResult = ParametroResult.OrderByDescending(s => s.Nombre);
                    break;

                default:          // Name ascending
                    ParametroResult = ParametroResult.OrderBy(s => s.Nombre);
                    break;
                }

                pageSize   = 5;
                pageNumber = (page ?? 1);
                return(View(ParametroResult.ToPagedList(pageNumber, pageSize)));

            case 5:
                ViewBag.CurrentFilter = searchString;
                ViewBag.CatVisible    = 1;
                var subCategoria = from s in db.SubCategoria
                                   select s;
                if (!String.IsNullOrEmpty(searchString))
                {
                    subCategoria = subCategoria.Where(s => s.Nombre.Contains(searchString)
                                                      );
                }
                foreach (var item in subCategoria)
                {
                    Parametro p1 = new Parametro();
                    p1.Id        = item.IdSubCatMat;
                    p1.NombreCat = item.CategoriaMat.Nombre.Trim();
                    p1.Nombre    = item.Nombre.Trim();
                    p1.Estado    = item.Estado.ToString();
                    Parametros.Add(p1);
                }
                ParametroResult = Parametros.AsQueryable();

                switch (sortOrder)
                {
                case "Nombre":
                    ParametroResult = ParametroResult.OrderByDescending(s => s.Nombre);
                    break;

                default:          // Name ascending
                    ParametroResult = ParametroResult.OrderBy(s => s.Nombre);
                    break;
                }

                pageSize   = 5;
                pageNumber = (page ?? 1);
                return(View(ParametroResult.ToPagedList(pageNumber, pageSize)));

            case 6:
                ViewBag.PorcentVisible = 1;
                ViewBag.CurrentFilter  = searchString;
                var valor = from s in db.Valor
                            select s;
                if (!String.IsNullOrEmpty(searchString))
                {
                    valor = valor.Where(s => s.Nombre.Contains(searchString)
                                        );
                }
                foreach (var item in valor)
                {
                    Parametro p1 = new Parametro();
                    p1.Id         = item.IdValor;
                    p1.Nombre     = item.Nombre.Trim();
                    p1.Porcentaje = item.Porcentaje;
                    p1.Tipo       = item.Tipo;
                    p1.Estado     = item.Estado.ToString();
                    Parametros.Add(p1);
                }
                ParametroResult = Parametros.AsQueryable();

                switch (sortOrder)
                {
                case "Nombre":
                    ParametroResult = ParametroResult.OrderByDescending(s => s.Nombre);
                    break;

                default:          // Name ascending
                    ParametroResult = ParametroResult.OrderBy(s => s.Nombre);
                    break;
                }

                pageSize   = 5;
                pageNumber = (page ?? 1);
                return(View(ParametroResult.ToPagedList(pageNumber, pageSize)));
            }

            return(View(ParametroResult.ToPagedList(pageNumber, pageSize)));
        }
        public ActionResult Eliminar(int?id)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            int tabla = (int)Session["Currentabla"];

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            switch (tabla)
            {
            case 1:
                CategoriaMat cat = new CategoriaMat();
                cat         = db.CategoriaMat.Find(id);
                cat.Usuario = Session["UsuarioActual"].ToString();
                if (cat == null)
                {
                    return(HttpNotFound());
                }
                db.Entry(cat).Entity.Estado = 0;
                db.SaveChanges();
                break;

            case 2:
                ColorMat color = new ColorMat();
                color         = db.ColorMat.Find(id);
                color.Usuario = Session["UsuarioActual"].ToString();
                if (color == null)
                {
                    return(HttpNotFound());
                }
                db.Entry(color).Entity.Estado = 0;
                db.SaveChanges();
                break;

            case 3:
                TipoProducto tipo = new TipoProducto();
                tipo         = db.TipoProducto.Find(id);
                tipo.Usuario = Session["UsuarioActual"].ToString();
                if (tipo == null)
                {
                    return(HttpNotFound());
                }
                db.Entry(tipo).Entity.Estado = 0;
                db.SaveChanges();
                break;

            case 4:
                Rol rolp = new Rol();
                rolp         = db.Rol.Find(id);
                rolp.Usuario = Session["UsuarioActual"].ToString();
                if (rolp == null)
                {
                    return(HttpNotFound());
                }
                db.Entry(rolp).Entity.Estado = 0;
                db.SaveChanges();
                break;

            case 5:
                SubCategoria sub = new SubCategoria();
                sub         = db.SubCategoria.Find(id);
                sub.Usuario = Session["UsuarioActual"].ToString();
                if (sub == null)
                {
                    return(HttpNotFound());
                }
                db.Entry(sub).Entity.Estado = 0;
                db.SaveChanges();
                break;

            case 6:
                Valor val = new Valor();
                val         = db.Valor.Find(id);
                val.Usuario = Session["UsuarioActual"].ToString();
                if (val == null)
                {
                    return(HttpNotFound());
                }
                db.Entry(val).Entity.Estado = 0;
                db.SaveChanges();
                break;
            }

            return(RedirectToAction("Index"));
        }
Exemple #21
0
        public ActionResult Registrar(Material material)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            try
            {
                ViewBag.CatMaterial = new SelectList((from s in db.CategoriaMat
                                                      where s.Estado == 1
                                                      select new
                {
                    s.IdCategoria,
                    s.Nombre
                }
                                                      ), "IdCategoria", "Nombre");
                ViewBag.Proveedor = new SelectList((from s in db.Proveedor
                                                    where s.Estado == 1
                                                    select new
                {
                    s.IdProveedor,
                    s.Nombre
                }
                                                    ), "IdProveedor", "Nombre");
                ViewBag.IdTipoMaterial = new SelectList((from s in db.TipoMaterial
                                                         where s.IdCatMat == material.IdCatMat && s.Estado == 1
                                                         select new
                {
                    s.IdTipoMaterial,
                    s.Nombre
                }
                                                         ), "IdTipoMaterial", "Nombre");
                ModelState.Remove("Usuario");
                material.Usuario = Session["UsuarioActual"].ToString();

                if (ModelState.IsValid)
                {
                    if (material.IdCatMat != 1)
                    {
                        if (TempData["ListaColores"] != null)
                        {
                            db.Material.Add(material);
                            db.SaveChanges();
                            foreach (ColorMaterial item in (List <ColorMaterial>)TempData["ListaColores"])
                            {
                                item.IdMaterial = material.IdMaterial;
                                db.ColorMaterial.Add(item);
                            }
                            db.SaveChanges();
                            TempData["ListaColores"] = null;
                        }
                        else
                        {
                            ModelState.AddModelError("ColorMaterial", "Debe registrar al menos un Color.");
                            return(View(material));
                        }
                    }
                    else
                    {
                        db.Material.Add(material);
                        db.SaveChanges();
                    }

                    return(RedirectToAction("Index"));
                }
            }
            catch (RetryLimitExceededException /* dex */)
            {
                ModelState.AddModelError("", "Imposible guardar cambios. Intentelo de nuevo, y si el problema persiste contacte el administrador del sistema.");
            }
            return(View(material));
        }
        public ActionResult Registrar(Parametro parametrop)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            try
            {
                ViewBag.CatMaterial = new SelectList((from s in db.CategoriaMat
                                                      where s.Estado == 1
                                                      select new
                {
                    s.IdCategoria,
                    s.Nombre
                }
                                                      ), "IdCategoria", "Nombre");
                if (parametrop.parametro == 5 || parametrop.parametro == 2)
                {
                    ModelState.Remove("Porcentaje");
                    ModelState.Remove("Tipo");
                }
                if (parametrop.parametro == 6)
                {
                    ModelState.Remove("CategoriaId");
                }
                if (parametrop.parametro != 6 && parametrop.parametro != 5 && parametrop.parametro != 2)
                {
                    ModelState.Remove("CategoriaId");
                    ModelState.Remove("Porcentaje");
                    ModelState.Remove("Tipo");
                }

                ModelState.Remove("Usuario");
                parametrop.Usuario = Session["UsuarioActual"].ToString();

                if (ModelState.IsValid)
                {
                    switch (parametrop.parametro)
                    {
                    case 1:
                        CategoriaMat cat = new CategoriaMat();
                        cat.Nombre  = parametrop.Nombre.Trim();
                        cat.Usuario = parametrop.Usuario.Trim();
                        cat.Estado  = Convert.ToInt32(parametrop.Estado);
                        db.CategoriaMat.Add(cat);
                        db.SaveChanges();
                        break;

                    case 2:
                        ColorMat color = new ColorMat();
                        color.Nombre        = parametrop.Nombre.Trim();
                        color.IdCatMaterial = parametrop.CategoriaId;
                        color.Usuario       = parametrop.Usuario.Trim();
                        color.Estado        = Convert.ToInt32(parametrop.Estado);
                        db.ColorMat.Add(color);
                        db.SaveChanges();
                        break;

                    case 3:
                        TipoProducto tipo = new TipoProducto();
                        tipo.Nombre  = parametrop.Nombre.Trim();
                        tipo.Usuario = parametrop.Usuario.Trim();
                        tipo.Estado  = Convert.ToInt32(parametrop.Estado);
                        db.TipoProducto.Add(tipo);
                        db.SaveChanges();
                        break;

                    case 4:
                        Rol rolp = new Rol();
                        rolp.Nombre  = parametrop.Nombre.Trim();
                        rolp.Usuario = parametrop.Usuario.Trim();
                        rolp.Estado  = Convert.ToInt32(parametrop.Estado);
                        db.Rol.Add(rolp);
                        db.SaveChanges();
                        break;

                    case 5:
                        SubCategoria sub = new SubCategoria();
                        sub.Nombre   = parametrop.Nombre.Trim();
                        sub.IdCatMat = parametrop.CategoriaId;
                        sub.Usuario  = parametrop.Usuario.Trim();
                        sub.Estado   = Convert.ToInt32(parametrop.Estado);
                        db.SubCategoria.Add(sub);
                        db.SaveChanges();
                        break;

                    case 6:
                        Valor val = new Valor();
                        val.Nombre     = parametrop.Nombre.Trim();
                        val.Tipo       = parametrop.Tipo;
                        val.Porcentaje = (parametrop.Porcentaje) / 100;
                        val.Usuario    = parametrop.Usuario.Trim();
                        val.Estado     = Convert.ToInt32(parametrop.Estado);
                        db.Valor.Add(val);
                        db.SaveChanges();
                        break;
                    }
                }
                return(RedirectToAction("Registrar"));
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Editar(int?id)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (id == null || Session["Currentabla"] == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            int tabla = (int)Session["Currentabla"];

            ViewBag.CatMaterial = new SelectList((from s in db.CategoriaMat
                                                  where s.Estado == 1
                                                  select new
            {
                s.IdCategoria,
                s.Nombre
            }
                                                  ), "IdCategoria", "Nombre");
            Parametro para = new Parametro();

            switch (tabla)
            {
            case 1:
                CategoriaMat cat = new CategoriaMat();
                cat = db.CategoriaMat.Find(id);
                if (cat == null)
                {
                    return(HttpNotFound());
                }
                para.parametro = 1;
                para.Id        = cat.IdCategoria;
                para.Nombre    = cat.Nombre.Trim();
                para.Usuario   = cat.Usuario.Trim();
                para.Estado    = cat.Estado.ToString();

                break;

            case 2:
                ColorMat color = new ColorMat();
                color = db.ColorMat.Find(id);
                if (color == null)
                {
                    return(HttpNotFound());
                }
                para.parametro   = 2;
                para.Id          = color.IdColor;
                para.Nombre      = color.Nombre.Trim();
                para.CategoriaId = color.IdCatMaterial;
                para.Usuario     = color.Usuario.Trim();
                para.Estado      = color.Estado.ToString();
                break;

            case 3:
                TipoProducto tipo = new TipoProducto();
                tipo = db.TipoProducto.Find(id);
                if (tipo == null)
                {
                    return(HttpNotFound());
                }
                para.parametro = 3;
                para.Id        = tipo.IdTipoProducto;
                para.Nombre    = tipo.Nombre.Trim();
                para.Usuario   = tipo.Usuario.Trim();
                para.Estado    = tipo.Estado.ToString();
                break;

            case 4:
                Rol rolp = new Rol();
                rolp = db.Rol.Find(id);
                if (rolp == null)
                {
                    return(HttpNotFound());
                }
                para.parametro = 4;
                para.Id        = rolp.IdRol;
                para.Nombre    = rolp.Nombre.Trim();
                para.Usuario   = rolp.Usuario.Trim();
                para.Estado    = rolp.Estado.ToString();
                break;

            case 5:
                SubCategoria sub = new SubCategoria();
                sub = db.SubCategoria.Find(id);
                if (sub == null)
                {
                    return(HttpNotFound());
                }
                para.parametro   = 5;
                para.Id          = sub.IdSubCatMat;
                para.CategoriaId = sub.IdCatMat;
                para.Nombre      = sub.Nombre.Trim();
                para.Usuario     = sub.Usuario.Trim();
                para.Estado      = sub.Estado.ToString();
                break;

            case 6:
                Valor val = new Valor();
                val = db.Valor.Find(id);
                if (val == null)
                {
                    return(HttpNotFound());
                }
                para.parametro  = 6;
                para.Id         = val.IdValor;
                para.Porcentaje = (val.Porcentaje * 100);
                para.Nombre     = val.Nombre.Trim();
                para.Tipo       = val.Tipo;
                para.Usuario    = val.Usuario.Trim();
                para.Estado     = val.Estado.ToString();
                break;
            }
            return(PartialView(para));
        }
        public ActionResult Editar(int id, Parametro parametrop)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            try
            {
                parametrop.parametro = (int)Session["Currentabla"];
                ViewBag.CatMaterial  = new SelectList((from s in db.CategoriaMat
                                                       where s.Estado == 1
                                                       select new
                {
                    s.IdCategoria,
                    s.Nombre
                }
                                                       ), "IdCategoria", "Nombre");

                ModelState.Remove("Usuario");
                parametrop.Usuario = Session["UsuarioActual"].ToString();

                if (!ModelState.IsValidField("CategoriaId") && parametrop.parametro != 5 || !ModelState.IsValidField("Porcentaje") && parametrop.parametro != 6 || ModelState.IsValid)
                {
                    switch (parametrop.parametro)
                    {
                    case 1:
                        CategoriaMat cat = new CategoriaMat();
                        cat.IdCategoria     = id;
                        cat.Nombre          = parametrop.Nombre.Trim();
                        cat.Usuario         = parametrop.Usuario.Trim();
                        cat.Estado          = Convert.ToInt32(parametrop.Estado);
                        db.Entry(cat).State = EntityState.Modified;
                        db.SaveChanges();
                        break;

                    case 2:
                        ColorMat color = new ColorMat();
                        color.IdColor         = id;
                        color.Nombre          = parametrop.Nombre.Trim();
                        color.IdCatMaterial   = parametrop.CategoriaId;
                        color.Usuario         = parametrop.Usuario.Trim();
                        color.Estado          = Convert.ToInt32(parametrop.Estado);
                        db.Entry(color).State = EntityState.Modified;
                        db.SaveChanges();
                        break;

                    case 3:
                        TipoProducto tipo = new TipoProducto();
                        tipo.IdTipoProducto  = id;
                        tipo.Nombre          = parametrop.Nombre.Trim();
                        tipo.Usuario         = parametrop.Usuario.Trim();
                        tipo.Estado          = Convert.ToInt32(parametrop.Estado);
                        db.Entry(tipo).State = EntityState.Modified;
                        db.SaveChanges();
                        break;

                    case 4:
                        Rol rolp = new Rol();
                        rolp.IdRol           = id;
                        rolp.Nombre          = parametrop.Nombre.Trim();
                        rolp.Usuario         = parametrop.Usuario.Trim();
                        rolp.Estado          = Convert.ToInt32(parametrop.Estado);
                        db.Entry(rolp).State = EntityState.Modified;
                        db.SaveChanges();
                        break;

                    case 5:
                        SubCategoria sub = new SubCategoria();
                        sub.IdSubCatMat     = id;
                        sub.Nombre          = parametrop.Nombre.Trim();
                        sub.IdCatMat        = parametrop.CategoriaId;
                        sub.Usuario         = parametrop.Usuario.Trim();
                        sub.Estado          = Convert.ToInt32(parametrop.Estado);
                        db.Entry(sub).State = EntityState.Modified;
                        db.SaveChanges();
                        break;

                    case 6:
                        Valor val = new Valor();
                        val.IdValor         = id;
                        val.Nombre          = parametrop.Nombre.Trim();
                        val.Tipo            = parametrop.Tipo;
                        val.Porcentaje      = (parametrop.Porcentaje) / 100;
                        val.Usuario         = parametrop.Usuario.Trim();
                        val.Estado          = Convert.ToInt32(parametrop.Estado);
                        db.Entry(val).State = EntityState.Modified;
                        db.SaveChanges();
                        break;
                    }
                }
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Exemple #25
0
        public ActionResult Editar(int?id)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.IdTipoProducto = new SelectList((from s in db.TipoProducto
                                                     where s.Estado == 1
                                                     select new
            {
                s.IdTipoProducto,
                s.Nombre
            }
                                                     ), "IdTipoProducto", "Nombre");
            ViewBag.Categorias = new SelectList((from s in db.CategoriaMat
                                                 where s.Estado == 1
                                                 select new
            {
                s.IdCategoria,
                s.Nombre
            }
                                                 ), "IdCategoria", "Nombre");
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Producto producto = db.Producto.Find(id);

            if (producto == null)
            {
                return(HttpNotFound());
            }
            var listaMatEsperados = db.MaterialEsperado.Where(s => s.IdForma == producto.Forma).ToList();
            var listaMatPro       = (from s in db.ListaMatProducto
                                     where s.IdProducto == producto.IdProducto
                                     select s).ToList();

            foreach (var item in listaMatEsperados)
            {
                bool Activador = false;
                foreach (var itemM in listaMatPro)
                {
                    if (itemM.Material.IdTipoMaterial == item.IdTipoMaterial)
                    {
                        Activador = true;
                        ListaMaterialesEsperProducto MatProduct = new ListaMaterialesEsperProducto();
                        MatProduct.IdMaterial     = itemM.IdMaterial;
                        MatProduct.NombreMaterial = itemM.Material.Nombre;
                        MatProduct.IdTipoMaterial = (int)itemM.Material.IdTipoMaterial;
                        MatProduct.IdForma        = producto.Forma;
                        MatProduct.Nombre         = item.TipoMaterial.Nombre;
                        MatProduct.Estado         = 1;
                        Listamateriales.Add(MatProduct);
                    }
                }
                if (Activador == false)
                {
                    ListaMaterialesEsperProducto MatProduct = new ListaMaterialesEsperProducto();
                    MatProduct.IdTipoMaterial = (int)item.IdTipoMaterial;
                    MatProduct.IdForma        = producto.Forma;
                    MatProduct.Nombre         = item.TipoMaterial.Nombre;
                    MatProduct.Estado         = 0;
                    Listamateriales.Add(MatProduct);
                }
            }
            ViewData["ListaMaterialesEdit"] = Listamateriales;
            TempData["ListaMateriales"]     = Listamateriales;
            return(View(producto));
        }
Exemple #26
0
        public ActionResult Registrar([Bind(Include = "IdProducto,Nombre,IdTipoProducto,Forma,Imagen,Estado,Usuario")] Producto producto, HttpPostedFileBase ImageFile)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            try
            {
                ViewBag.IdTipoProducto = new SelectList((from s in db.TipoProducto
                                                         where s.Estado == 1
                                                         select new
                {
                    s.IdTipoProducto,
                    s.Nombre
                }
                                                         ), "IdTipoProducto", "Nombre");
                ViewBag.Categorias = new SelectList((from s in db.CategoriaMat
                                                     where s.Estado == 1
                                                     select new
                {
                    s.IdCategoria,
                    s.Nombre
                }
                                                     ), "IdCategoria", "Nombre");

                ModelState.Remove("Usuario");
                producto.Usuario = Session["UsuarioActual"].ToString();

                if (ModelState.IsValid)
                {
                    if (ImageFile != null)
                    {
                        byte[] array;
                        using (MemoryStream ms = new MemoryStream())
                        {
                            ImageFile.InputStream.CopyTo(ms);
                            array = ms.GetBuffer();
                        }
                        if (HttpPostedFileBaseExtensions.GetImageFormat(array) != HttpPostedFileBaseExtensions.ImageFormat.Desconocido)
                        {
                            producto.Imagen = array;
                        }
                        else
                        {
                            ModelState.AddModelError("Imagen", "La imagen debe de ser de un formato correcto(jpg,png,gif,jpeg,tiff,bmp).");
                            return(View());
                        }
                    }



                    if (TempData["ListaMateriales"] != null)
                    {
                        db.Producto.Add(producto);
                        db.SaveChanges();
                        foreach (ListaMaterialesEsperProducto item in (List <ListaMaterialesEsperProducto>)TempData["ListaMateriales"])
                        {
                            ListaMatProducto LM = new ListaMatProducto();
                            LM.IdProducto = producto.IdProducto;
                            LM.IdMaterial = item.IdMaterial;
                            db.ListaMatProducto.Add(LM);
                        }
                        db.SaveChanges();
                        TempData["ListaMateriales"] = null;
                    }
                    else
                    {
                        db.Producto.Add(producto);
                        db.SaveChanges();
                    }

                    return(RedirectToAction("Index"));
                }
            }
            catch (RetryLimitExceededException /* dex */)
            {
                ModelState.AddModelError("", "Imposible guardar cambios. Intentelo de nuevo, y si el problema persiste contacte el administrador del sistema.");
            }
            return(View(producto));
        }
Exemple #27
0
        public ActionResult Editar([Bind(Include = "IdProducto,Nombre,IdTipoProducto,Forma,Imagen,Estado,Usuario")] Producto producto, HttpPostedFileBase ImageFile)
        {
            if (!LoginController.validaUsuario(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!LoginController.validaRol(Session))
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.IdTipoProducto = new SelectList((from s in db.TipoProducto
                                                     where s.Estado == 1
                                                     select new
            {
                s.IdTipoProducto,
                s.Nombre
            }
                                                     ), "IdTipoProducto", "Nombre");
            ViewBag.Categorias = new SelectList((from s in db.CategoriaMat
                                                 where s.Estado == 1
                                                 select new
            {
                s.IdCategoria,
                s.Nombre
            }
                                                 ), "IdCategoria", "Nombre");
            ModelState.Remove("Usuario");

            if (ModelState.IsValid)
            {
                Producto productoToUpdate = db.Producto.Find(producto.IdProducto);
                if (TryUpdateModel(productoToUpdate, "",
                                   new string[] { "Nombre", "IdTipoProducto", "Forma", "Imagen", "Estado", "Usuario" }))
                {
                    productoToUpdate.Usuario = Session["UsuarioActual"].ToString();

                    if (ImageFile != null)
                    {
                        byte[] array;
                        using (MemoryStream ms = new MemoryStream())
                        {
                            ImageFile.InputStream.CopyTo(ms);
                            array = ms.GetBuffer();
                        }
                        if (HttpPostedFileBaseExtensions.GetImageFormat(array) != HttpPostedFileBaseExtensions.ImageFormat.Desconocido)
                        {
                            productoToUpdate.Imagen = array;
                        }
                        else
                        {
                            ModelState.AddModelError("Imagen", "La imagen debe de ser de un formato correcto(jpg,png,gif,jpeg,tiff,bmp).");
                            return(View(productoToUpdate));
                        }
                    }
                    db.Entry(productoToUpdate).State = EntityState.Modified;
                    db.SaveChanges();
                }
                if (TempData["ListaMateriales"] != null)
                {
                    var materiales = (from s in db.ListaMatProducto
                                      where s.IdProducto == producto.IdProducto
                                      select s).ToList();

                    foreach (ListaMatProducto item in materiales)
                    {
                        db.ListaMatProducto.Attach(item);
                        db.ListaMatProducto.Remove(item);
                        db.SaveChanges();
                    }
                    foreach (var item in (List <ListaMaterialesEsperProducto>)TempData["ListaMateriales"])
                    {
                        if (item.Estado == 1)
                        {
                            ListaMatProducto LM = new ListaMatProducto();
                            LM.IdProducto = producto.IdProducto;
                            LM.IdMaterial = item.IdMaterial;
                            db.ListaMatProducto.Add(LM);
                        }
                    }
                    db.SaveChanges();
                    TempData["ListaMateriales"] = null;
                }

                return(RedirectToAction("Index"));
            }
            return(View(producto));
        }