Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
 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;
     }
 }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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));
        }
Example #8
0
        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()));
        }
Example #9
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.
            }
        }
Example #10
0
        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);
            }
        }
Example #11
0
 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));
     }
 }
Example #12
0
        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);
            }
        }
Example #13
0
        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);
        }
Example #14
0
        public void ListarCategoriasHijas()
        {
            CategoriaCompuesta c = (CategoriaCompuesta)it.ObtenerCategoria(urlTest, 2);

            Assert.AreEqual(1, c.hijas.Count);
        }