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 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 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);
        }
Beispiel #4
0
        //--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 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 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 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());
 }