public JsonResult AgregarColor(int IdColor, decimal Costo)
        {
            var resultado = "No se pudo agregar el color";
            if (TempData["ListaColores"] != null) {
                Listacolores = (List<ColorMaterial>)TempData["ListaColores"];

            }
            try
            {
                ColorMaterial colormaterial = new ColorMaterial();
                colormaterial.IdColorMat = IdColor;
                colormaterial.Costo = Costo;
                colormaterial.NombreMaterial = db.ColorMat.Find(IdColor).Nombre.Trim();
                if (Listacolores.Count()==0) { Listacolores.Add(colormaterial); }
                else
                {

                    foreach (ColorMaterial color in Listacolores)
                    {
                        if (color.IdColorMat == IdColor)
                        {
                            TempData["ListaColores"] = Listacolores;
                            resultado = "No se puede duplicar el color!";
                            return Json(resultado,
                            JsonRequestBehavior.AllowGet);
                        }

                    }
                    Listacolores.Add(colormaterial);
                }
            }
            catch{
                  return Json(resultado,
                JsonRequestBehavior.AllowGet);
            }
            TempData["ListaColores"] = Listacolores;
            return Json(Listacolores.ToList(),
                JsonRequestBehavior.AllowGet);
        }
        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);
        }