public JsonResult DeleteAtributo(int id) { var rm = new ResponseModel(); AtributosBLL atributosBLL = new AtributosBLL(); /* * * Agregar verificacion: si atributo pertenece a un producto no se permite eliminar */ //Obtener todos los atributos var listaAtributos = db.atributo_subatributo.Where(m => m.ID == id).ToList(); // listaAtributos.Add(padre); listaAtributos.AddRange(atributosBLL.ListarHijos(id, ref db)); //Eliminar atributo y subatributos si tiene incliuyedno la relacion con la mp listaAtributos.ForEach(m => { m.materia_prima.Clear(); db.atributo_subatributo.Remove(m); }); if (db.SaveChanges() > 0) { rm.response = true; rm.message = "Sus datos se guardaron correctamente"; // rm.function = "reload(true,'" + rm.message + "')"; } return(Json(rm, JsonRequestBehavior.AllowGet)); }
public ActionResult GenerarCodigo(SeleccionProductoDTO selectProd) { AtributosBLL atributosBLL = new AtributosBLL(); var configuracion = db.formulacion_comodin.Where(m => m.ID_PRODUCTO == selectProd.idProducto).Include(m => m.atributo_subatributo); String M = ""; String T = ""; String A = ""; String code = ""; String descriptM = ""; String descriptT = ""; String descriptA = ""; String descript = ""; foreach (atributoSeleccionadosDTO s in selectProd.listaseleccionados) { var comodin = configuracion.FirstOrDefault(m => m.ID == s.idFormulacion); String temp = atributosBLL.GetCode(ref comodin, s.idSeleccionado); String descripcion = atributosBLL.GetDescripcionConfig(ref comodin, s.idSeleccionado); char tipoAtributo = temp[0]; switch (tipoAtributo) { case 'M': M += temp; descriptM += descripcion; break; case 'T': T += temp; descriptT += descripcion; break; case 'A': A += temp; descriptA += descripcion; break; } } code = M == "" ? "M0" : M; code += T == "" ? "/T0" : "/" + T; code += A == "" ? "/A0" : "/" + A; descript = descriptM + descriptT + descriptA; var jsonResponse = new { code = code, descripcion = descript, precio = 0 }; return(Json(jsonResponse, JsonRequestBehavior.AllowGet)); }
public ActionResult GuardarConfiguracion(List <ConfiguracionDTO> configuracion) { var rm = new ResponseModel(); int idProd = configuracion[0].idProducto; AtributosBLL atributosBLL = new AtributosBLL(); try { var prod = db.producto.FirstOrDefault(m => m.ID == idProd); int count = 0; foreach (ConfiguracionDTO config in configuracion) { var comodin = db.formulacion_comodin.FirstOrDefault(m => m.ID == config.idFormulacion); comodin.atributo_subatributo.Clear(); if (config.seleccionados != null) { foreach (AtributosSeleccionadosDTO selec in config.seleccionados) { //obtenemos todos los padres del atributo hasta llegar al comodin padre var t = atributosBLL.ListarPadres(selec.id, ref db); t.ForEach(m => { comodin.atributo_subatributo.Add(m); }); // comodin.atributo_subatributo.Concat(t); count++; } } } prod.ES_PERSONALIZABLE = count > 0; if (db.SaveChanges() > 0) { rm.response = true; rm.message = "Sus datos se guardaron correctamente"; rm.function = "reloadModalMp(true,'" + rm.message + "')"; } } catch (Exception e) { } return(Json(rm, JsonRequestBehavior.AllowGet)); }