public JsonResult AgregarMaterial(int IdMat, string forma) { var resultado = "No se pudo agregar el color"; if (TempData["ListaMateriales"] != null) { Listamateriales = (List<ListaMaterialesEsperProducto>)TempData["ListaMateriales"]; } try { Material mater = db.Material.Find(IdMat); ListaMaterialesEsperProducto mat = new ListaMaterialesEsperProducto(); mat.IdMaterial = mater.IdMaterial; mat.NombreMaterial = mater.Nombre; mat.IdTipoMaterial = (int)mater.IdTipoMaterial; var listaMatEsperados = db.MaterialEsperado.Where(s => s.IdForma == forma).ToList(); bool Activador = false; foreach(var item in listaMatEsperados) { if (item.IdTipoMaterial == mater.IdTipoMaterial) { for(int i=0;i< Listamateriales.Count(); i++) { if (Listamateriales[i].IdMaterial == IdMat) { TempData["ListaMateriales"] = Listamateriales; resultado = "No se puede duplicar el Material!"; return Json(resultado, JsonRequestBehavior.AllowGet); } if (Listamateriales[i].IdTipoMaterial == mat.IdTipoMaterial) { Listamateriales[i].IdForma = forma; Listamateriales[i].IdMaterial = mat.IdMaterial; Listamateriales[i].NombreMaterial = mat.NombreMaterial; Listamateriales[i].Estado = 1; Activador = true; } } } } if (Activador == false) { TempData["ListaMateriales"] = Listamateriales; resultado = "Material no apto para este producto!"; return Json(resultado, JsonRequestBehavior.AllowGet); } } catch { return Json(resultado, JsonRequestBehavior.AllowGet); } TempData["ListaMateriales"] = Listamateriales; return Json(Listamateriales.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.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); }