public String recursionDropDown(CategoriaCompuesta categoria, int profundidad) { string resultado = ""; resultado += "<li role=\"presentation\"><a role=\"menuitem\" tabindex=\"-1\" style=\"padding-left: " + profundidad + "px;\" onclick=\"renderProductosCategoria(" + categoria.CategoriaID + ")\">" + categoria.Nombre + "</a></li>"; //debo crear un arreglo JSON con las categorias if (categoria.hijas != null) { if (categoria.hijas.Count() > 0) { foreach (Categoria hija in categoria.hijas) { if (hija is CategoriaCompuesta) { resultado += recursionDropDown((CategoriaCompuesta)hija, profundidad + 30); } else { int profHija = profundidad + 30; resultado += "<li role=\"presentation\"><a role=\"menuitem\" tabindex=\"-1\" style=\"padding-left: " + profHija + "px;\" onclick=\"renderProductosCategoria(" + hija.CategoriaID + ")\">" + hija.Nombre + "</a></li>"; } } } } return(resultado); }
public void AgregarCategorias() { List <Categoria> lc = new List <Categoria>(); CategoriaCompuesta father = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, 1); for (int i = 1; i < 10; i++) { CategoriaCompuesta cc = new CategoriaCompuesta { Nombre = "CatPrueba" + i.ToString(), padre = father }; lc.Add(cc); } for (int i = 1; i < 10; i++) { CategoriaSimple cc = new CategoriaSimple { Nombre = "CatPruebaSimple" + i.ToString(), padre = father }; lc.Add(cc); } it.AgregarCategorias(lc, urlTest); for (int i = 3; i < 10; i++) { CategoriaCompuesta c = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, i + 1); Assert.AreEqual(c.CategoriaID, i + 1); Assert.AreEqual(c.Nombre, "CatPrueba" + (i - 2).ToString()); // Assert.AreEqual(c.padre.CategoriaID, 1); } }
public void AgregarCategoria(Categoria c, string idTienda) { try { if (c == null) { throw new Exception("Debe pasar una categoría."); } chequearTienda(idTienda); using (var context = ChebayDBContext.CreateTenant(idTienda)) { var query = from cat in context.categorias where cat.CategoriaID == c.padre.CategoriaID select cat; CategoriaCompuesta father = (CategoriaCompuesta)query.FirstOrDefault(); c.padre = father; c.tipoatributos = new List <TipoAtributo>(); context.categorias.Add(c); context.SaveChanges(); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; } }
public string RecursionCategorias(CategoriaCompuesta categoria) { string resultado = ""; resultado += "<li><button class=\"btn btn-link disabled\" data-id=\"" + categoria.CategoriaID + "\">" + categoria.Nombre + "</button>"; //debo crear un arreglo JSON con las categorias if (categoria.hijas != null) { if (categoria.hijas.Count() > 0) { resultado += "<ul class=\"ulfix\">"; foreach (Categoria hija in categoria.hijas) { if (hija is CategoriaCompuesta) { resultado += RecursionCategorias((CategoriaCompuesta)hija); } else { //string ancestros2 = obtenerAncestros(hija.padre); resultado += "<li><button class=\"btn btn-link\" id=\"item-" + hija.CategoriaID + "\" data-id=\"" + hija.CategoriaID + "\" onclick=\"seleccionarCategoriaSimple(" + hija.CategoriaID + ")\">" + hija.Nombre + "</button></li>"; } } resultado += "</ul>"; } } resultado += "</li>"; return(resultado); }
public string RecursionCategorias(CategoriaCompuesta categoria) { string resultado = ""; resultado += "<li><button class=\"btn btn-link\" style=\"font-weight : bold; font-size : 18px; font-family: monospace;\" onclick=\"modalAgregarCategoria(" + categoria.CategoriaID + ")\">" + categoria.Nombre + "</button>"; //debo crear un arreglo JSON con las categorias if (categoria.hijas != null) { if (categoria.hijas.Count() > 0) { resultado += "<ul>"; foreach (Categoria hija in categoria.hijas) { if (hija is CategoriaCompuesta) { resultado += RecursionCategorias((CategoriaCompuesta)hija); } else { resultado += "<li><button class=\"btn btn-link\" onclick=\"modalSeleccionarCategoriaWebScrapping(" + hija.CategoriaID + ")\">" + hija.Nombre + "</button></li>"; } } resultado += "</ul>"; } } resultado += "</li>"; return(resultado); }
public string RecursionCategoriasTipoAtributo(CategoriaCompuesta categoria) { string resultado = ""; resultado += "<li><button class=\"btn btn-link\" style=\"font-weight : bold; font-size : 18px; font-family: monospace;\" id=\"" + categoria.CategoriaID + "\" onclick=\"mostrarPopover(" + categoria.CategoriaID + ",'" + categoria.Nombre + "')\">" + categoria.Nombre + "</button><div id=\"" + categoria.CategoriaID + "Div\"></div>"; //debo crear un arreglo JSON con las categorias if (categoria.hijas != null) { if (categoria.hijas.Count() > 0) { resultado += "<ul>"; foreach (Categoria hija in categoria.hijas) { if (hija is CategoriaCompuesta) { resultado += RecursionCategoriasTipoAtributo((CategoriaCompuesta)hija); } else { resultado += "<li><button class=\"btn btn-link\" id=\"" + hija.CategoriaID + "\" onclick=\"mostrarPopover(" + hija.CategoriaID + ",'" + hija.Nombre + "')\">" + hija.Nombre + "</button><div id=\"" + hija.CategoriaID + "Div\"></div></li>"; } } resultado += "</ul><hr>"; } } resultado += "</li>"; return(resultado); }
public ContentResult MostrarDropdownCategorias() { /*<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Categoria 1</a></li>*/ List <Categoria> categorias = cT.ListarCategorias(Session["Tienda_Nombre"].ToString()); CategoriaCompuesta raiz = (CategoriaCompuesta)categorias.ElementAt(0); int padding = 0; String res = recursionDropDown(raiz, padding); return(Content(res)); }
public string obtenerAncestros(CategoriaCompuesta cc) { CategoriaCompuesta actual = cc; List <long> ancestros = new List <long>(); while (actual.CategoriaID != 1) { ancestros.Add(actual.CategoriaID); actual = actual.padre; } ancestros.Add(1); return(string.Join(",", ancestros.ToArray())); }
//--TIENDAS-- public void AgregarTienda(Tienda tienda, string idAdmin) { try { if (tienda == null) { throw new Exception("Debe pasar una tienda."); } using (var context = ChebayDBPublic.CreatePublic()) { var qAdmin = from ad in context.administradores where ad.AdministradorID == idAdmin select ad; if (tienda.administradores == null) { tienda.administradores = new HashSet <Administrador>(); } tienda.administradores.Add(qAdmin.FirstOrDefault()); Personalizacion p = new Personalizacion { PersonalizacionID = tienda.TiendaID, template = 1, algoritmo = null }; context.personalizaciones.Add(p); context.tiendas.Add(tienda); context.SaveChanges(); Debug.WriteLine("Creando schema..."); ChebayDBContext.ProvisionTenant(tienda.TiendaID); Debug.WriteLine("Tienda " + tienda.TiendaID + " creada con éxito."); //Crea la Categoria Raiz. var schema = ChebayDBContext.CreateTenant(tienda.TiendaID); CategoriaCompuesta raiz = new CategoriaCompuesta(); raiz.Nombre = "/"; raiz.hijas = new List <Categoria>(); schema.categorias.Add(raiz); schema.SaveChanges(); Debug.WriteLine("Categoría raíz de " + tienda.TiendaID + " creada con éxito."); } } catch (Exception e) { Debug.WriteLine(e.Message); throw e; //Dropear las tablas creadas. } }
public void AgregarCategoriaSimple() { using (var schema = ChebayDBContext.CreateTenant(urlTest)) { CategoriaCompuesta father = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, 2); System.Console.WriteLine(father.CategoriaID + father.Nombre); Categoria c = new CategoriaSimple { Nombre = "CatSimplePrueba", padre = father }; it.AgregarCategoria(c, urlTest); CategoriaSimple cc = (CategoriaSimple)it.ObtenerCategoria(urlTest, 3); Assert.AreEqual(cc.CategoriaID, 3); Assert.AreEqual(cc.Nombre, "CatSimplePrueba"); //Assert.AreEqual(cc.padre.CategoriaID, 2); } }
public ActionResult AgregarCategoria(DatosCategoriaNueva datos) { try { string idAdmin = User.Identity.Name; List <AtributoSesion> atributos = idalTienda.ObtenerAtributosSesion(idAdmin); AtributoSesion tienda = null; foreach (AtributoSesion a in atributos) { if (a.AtributoSesionID.Equals("tienda")) { tienda = a; break; } } if (datos.tipoCategoria.Equals("compuesta")) { Categoria catCompuesta = new CategoriaCompuesta(); IDALTienda idal = new DALTiendaEF(); catCompuesta.padre = (CategoriaCompuesta)idal.ObtenerCategoria(tienda.Datos, datos.padre); catCompuesta.Nombre = datos.nombre; idal.AgregarCategoria(catCompuesta, tienda.Datos); } else if (datos.tipoCategoria.Equals("simple")) { Categoria catSimple = new CategoriaSimple(); IDALTienda idal = new DALTiendaEF(); catSimple.padre = (CategoriaCompuesta)idal.ObtenerCategoria(tienda.Datos, datos.padre); catSimple.Nombre = datos.nombre; idal.AgregarCategoria(catSimple, tienda.Datos); } var result = new { Success = "True", Message = "Se han guardado los datos generales correctamente" }; return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception e) { var result = new { Success = "False", Message = "Error al guardar los datos generales" }; return(Json(result, JsonRequestBehavior.AllowGet)); } }
public void AgregarCategoriaCompuesta() { using (var schema = ChebayDBContext.CreateTenant(urlTest)) { CategoriaCompuesta father = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, 1); System.Console.WriteLine(father.CategoriaID + father.Nombre); Categoria c = new CategoriaCompuesta { Nombre = "CatCompuestaPrueba", padre = father, hijas = new HashSet <Categoria>(), tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c, urlTest); CategoriaCompuesta cc = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, 2); Assert.AreEqual(cc.CategoriaID, 2); Assert.AreEqual(cc.Nombre, "CatCompuestaPrueba"); //Assert.AreEqual(cc.padre.CategoriaID, 1); } }
public void AgregarVariasCategorias() { CategoriaCompuesta father = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, 1); //PRIMER NIVEL Categoria c = new CategoriaCompuesta { Nombre = "Computadoras", padre = father, hijas = new HashSet <Categoria>(), tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c, urlTest); CategoriaCompuesta cc = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, 2); Categoria c2 = new CategoriaCompuesta { Nombre = "Hardware", padre = father, hijas = new HashSet <Categoria>(), tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c2, urlTest); Categoria c3 = new CategoriaSimple { Nombre = "Software", padre = father, productos = new HashSet <Producto>(), tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c3, urlTest); //SEGUNDO NIVEL //COMPUTADORAS Categoria c11 = new CategoriaCompuesta { Nombre = "Laptops", padre = (CategoriaCompuesta)c, hijas = new HashSet <Categoria>(), tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c11, urlTest); Categoria c12 = new CategoriaCompuesta { Nombre = "Torres", padre = (CategoriaCompuesta)c, hijas = new HashSet <Categoria>(), tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c12, urlTest); //HARDWARE Categoria c21 = new CategoriaSimple { Nombre = "Memoria RAM", padre = (CategoriaCompuesta)c2, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c21, urlTest); Categoria c22 = new CategoriaSimple { Nombre = "Discos Duros", padre = (CategoriaCompuesta)c2, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c22, urlTest); Categoria c23 = new CategoriaSimple { Nombre = "Motherboards", padre = (CategoriaCompuesta)c2, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c23, urlTest); //TERCER NIVEL //Laptops Categoria c111 = new CategoriaSimple { Nombre = "Toshiba", padre = (CategoriaCompuesta)c11, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c111, urlTest); Categoria c112 = new CategoriaSimple { Nombre = "Sony", padre = (CategoriaCompuesta)c11, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c112, urlTest); Categoria c113 = new CategoriaSimple { Nombre = "Samsung", padre = (CategoriaCompuesta)c11, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c113, urlTest); Categoria c114 = new CategoriaSimple { Nombre = "Apple", padre = (CategoriaCompuesta)c11, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c114, urlTest); //TORRES Categoria c121 = new CategoriaSimple { Nombre = "AMD", padre = (CategoriaCompuesta)c12, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c121, urlTest); Categoria c122 = new CategoriaSimple { Nombre = "INTEL", padre = (CategoriaCompuesta)c12, tipoatributos = new HashSet <TipoAtributo>() }; it.AgregarCategoria(c122, urlTest); }
public void ListarCategoriasHijas() { CategoriaCompuesta c = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, 2); Assert.AreEqual(1, c.hijas.Count); }