Exemple #1
0
        public List <ProductoEspecificoDto> GetProductosID(JsonProductoDTO json)
        {
            var        db          = new QueryFactory(connection, compiler);
            List <int> productosID = json.productosID;
            List <ProductoEspecificoDto> productos = new List <ProductoEspecificoDto>();

            for (int x = 0; x < productosID.Count; x++)
            {
                var producto  = db.Query("Productos").Select("Id", "Nombre", "Descripcion", "PrecioID", "ImagenID", "CategoriaID", "MarcaID", "Stock").Where("Id", "=", productosID[x]).FirstOrDefault <ProductoDto>();
                var marca     = db.Query("marca").Select("Nombre").Where("Id", "=", producto.MarcaID).FirstOrDefault <Marca>();
                var precio    = db.Query("precioproducto").Select("Precioventa").Where("Id", "=", producto.PrecioID).FirstOrDefault <PrecioProducto>();
                var categoria = db.Query("categorias").Select("Descripcion").Where("Id", "=", producto.CategoriaID).FirstOrDefault <Categoria>();
                var imagen    = db.Query("imagenproducto").Select("Nombre").Where("Id", "=", producto.ImagenID).FirstOrDefault <ImagenProducto>();
                ProductoEspecificoDto productoespecifico = new ProductoEspecificoDto
                {
                    Nombre        = producto.Nombre,
                    Categoria     = categoria.Descripcion,
                    Imagen        = imagen.Nombre,
                    Marca         = marca.Nombre,
                    Precio        = precio.Precioventa,
                    Stock         = producto.Stock,
                    Descripcion   = producto.Descripcion,
                    PublicacionID = json.publicacionesID[x],
                    ProductoID    = producto.Id
                };
                productos.Add(productoespecifico);
            }


            return(productos);
        }
Exemple #2
0
        public ProductoEspecificoDto GetProductoID(int productoID)
        {
            var db = new QueryFactory(connection, compiler);



            var producto  = db.Query("Productos").Select("Id", "Nombre", "Descripcion", "PrecioID", "ImagenID", "CategoriaID", "MarcaID", "Stock").Where("Id", "=", productoID).FirstOrDefault <Producto>();
            var marca     = db.Query("marca").Select("Nombre").Where("Id", "=", producto.MarcaID).FirstOrDefault <Marca>();
            var precio    = db.Query("precioproducto").Select("Precioventa").Where("Id", "=", producto.PrecioID).FirstOrDefault <PrecioProducto>();
            var categoria = db.Query("categorias").Select("Descripcion").Where("Id", "=", producto.CategoriaID).FirstOrDefault <Categoria>();
            var imagen    = db.Query("imagenproducto").Select("Nombre").Where("Id", "=", producto.ImagenID).FirstOrDefault <ImagenProducto>();
            ProductoEspecificoDto productoespecifico = new ProductoEspecificoDto
            {
                Nombre      = producto.Nombre,
                Categoria   = categoria.Descripcion,
                Imagen      = imagen.Nombre,
                Marca       = marca.Nombre,
                Precio      = precio.Precioventa,
                Stock       = producto.Stock,
                Descripcion = producto.Descripcion,
                ProductoID  = producto.Id
            };

            return(productoespecifico);
        }
Exemple #3
0
        public async Task <ProductosCantidadValorDTO> ProductosValorCarritoCliente(int clienteID)
        {
            decimal preciototal = 0;
            var     query       = (from x in contexto.Carrito where x.ClienteID == clienteID select x.ID).FirstOrDefault <int>();
            var     query2      = (from x in contexto.CarritoProducto where x.CarritoID == query select x.ProductoID).Distinct <int>().ToList();
            List <ProductoEspecificoDto> productos = new List <ProductoEspecificoDto>();
            ValorCarritoDTO valor = new ValorCarritoDTO()
            {
                productosID = query2
            };
            ProductosCantidadValorDTO objeto;

            string url = "https://localhost:44370/api/Producto/ProductosValorCarritoCliente";

            using (var httpClient = new HttpClient())
            {
                var json = Newtonsoft.Json.JsonConvert.SerializeObject(valor, Formatting.None);
                var data = new System.Net.Http.StringContent(json, Encoding.UTF8, "application/json");

                var result = await httpClient.PostAsync(url, data);

                string resultado = result.Content.ReadAsStringAsync().Result;
                objeto = JsonConvert.DeserializeObject <ProductosCantidadValorDTO>(resultado);
            }

            foreach (ProductoEspecificoDto obj in objeto.productos)
            {
                int count = (from x in contexto.CarritoProducto where x.ProductoID == obj.ProductoID && x.CarritoID == query select x).Count();
                ProductoEspecificoDto var = new ProductoEspecificoDto()
                {
                    ProductoID  = obj.ProductoID,
                    Imagen      = obj.Imagen,
                    Descripcion = obj.Descripcion,
                    Stock       = obj.Stock,
                    Nombre      = obj.Nombre,
                    Marca       = obj.Marca,
                    Cantidad    = count,
                    Categoria   = obj.Categoria,
                    Precio      = obj.Precio
                };
                productos.Add(var);
                preciototal += var.Precio * var.Cantidad;
            }


            objeto.productos    = productos;
            objeto.valorcarrito = preciototal;



            return(objeto);
        }
Exemple #4
0
        public ProductosCantidadValorDTO ProductosValorCarritoCliente(ValorCarritoDTO valor)
        {
            var     db           = new QueryFactory(connection, compiler);
            decimal valorCarrito = 0;
            List <ProductoEspecificoDto> productoscliente = new List <ProductoEspecificoDto>();

            for (int x = 0; x < valor.productosID.Count; x++)
            {
                var producto = db.Query("Productos").
                               Select("Id", "Nombre", "Descripcion", "PrecioID", "ImagenID", "CategoriaID", "MarcaID", "Stock").
                               Where("Id", "=", valor.productosID[x]).
                               FirstOrDefault <ProductoDto>();
                var precio = db.Query("precioproducto").
                             Select("Precioventa").
                             Where("Id", "=", producto.PrecioID).
                             FirstOrDefault <PrecioProducto>();
                var categoria = db.Query("categorias").
                                Select("Descripcion").
                                Where("Id", "=", producto.CategoriaID).
                                FirstOrDefault <Categoria>();
                var imagen = db.Query("imagenproducto").
                             Select("Nombre").Where("Id", "=", producto.ImagenID).
                             FirstOrDefault <ImagenProducto>();
                var marca = db.Query("marca").
                            Select("Nombre").
                            Where("Id", "=", producto.MarcaID).
                            FirstOrDefault <Marca>();

                ProductoEspecificoDto productoespecifico = new ProductoEspecificoDto
                {
                    Imagen      = imagen.Nombre,
                    Precio      = precio.Precioventa,
                    Marca       = marca.Nombre,
                    Categoria   = categoria.Descripcion,
                    ProductoID  = producto.Id,
                    Stock       = producto.Stock,
                    Nombre      = producto.Nombre,
                    Descripcion = producto.Descripcion
                };

                productoscliente.Add(productoespecifico);
                valorCarrito += 0;
            }
            ProductosCantidadValorDTO objeto = new ProductosCantidadValorDTO()
            {
                productos    = productoscliente,
                valorcarrito = valorCarrito
            };

            return(objeto);
        }
Exemple #5
0
        public List <ProductoEspecificoDto> ProductosPublicacionesFiltroCategoria(JsonProductoFiltroDto json)
        {
            var        db          = new QueryFactory(connection, compiler);
            List <int> productosID = json.productosID;
            List <ProductoEspecificoDto> productos = new List <ProductoEspecificoDto>();

            for (int x = 0; x < productosID.Count; x++)
            {
                var query = db.Query("productos").Select("productos.Id", "productos.Nombre", "productos.Descripcion", "PrecioID", "ImagenID", "CategoriaID", "MarcaID", "Stock")
                            .Join("categorias", "categorias.Id", "Productos.CategoriaID")
                            .Where("productos.Id", "=", productosID[x])
                            .WhereLike("categorias.Descripcion", $"%{json.filtro}%");
                //.OrWhereLike("productos.Descripcion", $"%{json.filtro}%")
                //.OrWhereLike("categorias.Descripcion", $"%{json.filtro}%");
                Console.WriteLine(compiler.Compile(query).ToString());

                var producto = query.FirstOrDefault <ProductoDto>();

                //.FirstOrDefault<ProductoDto>();
                if (producto != null)
                {
                    var marca     = db.Query("marca").Select("Nombre").Where("Id", "=", producto.MarcaID).FirstOrDefault <Marca>();
                    var precio    = db.Query("precioproducto").Select("Precioventa").Where("Id", "=", producto.PrecioID).FirstOrDefault <PrecioProducto>();
                    var categoria = db.Query("categorias").Select("Descripcion").Where("Id", "=", producto.CategoriaID).FirstOrDefault <Categoria>();
                    var imagen    = db.Query("imagenproducto").Select("Nombre").Where("Id", "=", producto.ImagenID).FirstOrDefault <ImagenProducto>();

                    ProductoEspecificoDto productoespecifico = new ProductoEspecificoDto
                    {
                        Nombre        = producto.Nombre,
                        Categoria     = categoria.Descripcion,
                        Imagen        = imagen.Nombre,
                        Marca         = marca.Nombre,
                        Precio        = precio.Precioventa,
                        Stock         = producto.Stock,
                        Descripcion   = producto.Descripcion,
                        PublicacionID = json.publicacionesID[x],
                        ProductoID    = producto.Id
                    };
                    productos.Add(productoespecifico);
                }
            }


            return(productos);
        }
Exemple #6
0
        public async Task <ProductoEspecificoDto> GetProducto(int publicacionID)
        {
            //ProductoDTO producto = new ProductoDTO();

            string url = "https://localhost:44370/api/Producto/TraerProductosID?publicacionID=" + publicacionID;


            using (var http = new HttpClient())
            {
                string request = await http.GetStringAsync(url);

                ProductoEspecificoDto posts = JsonConvert.DeserializeObject <ProductoEspecificoDto>(request);



                return(posts);
            }
        }
Exemple #7
0
        public async Task <productoYcomentariosDTO> ProductoYcomentariosDePublicacion(int publicacionID, int offset)
        {
            var db = new QueryFactory(conexion, SqlKataCompiler);
            productoYcomentariosDTO variable = new productoYcomentariosDTO();
            PaginacionComentarioDto var      = new PaginacionComentarioDto()
            {
                PublicacionID = publicacionID,
                Offset        = offset
            };

            var query = db.Query("publicaciones").Select("ProductoID").Where("ID", "=", publicacionID).FirstOrDefault <int>();

            string url = "https://localhost:44370/api/Producto/TraerProductosID?publicacionID=" + query;


            using (var http = new HttpClient())
            {
                string request = await http.GetStringAsync(url);

                ProductoEspecificoDto posts = JsonConvert.DeserializeObject <ProductoEspecificoDto>(request);


                variable.Comentarios   = PaginacionComentarios(var);
                variable.Categoria     = posts.Categoria;
                variable.Nombre        = posts.Nombre;
                variable.Precio        = posts.Precio;
                variable.Marca         = posts.Marca;
                variable.Stock         = posts.Stock;
                variable.PublicacionID = publicacionID;
                variable.Descripcion   = posts.Descripcion;
                variable.Imagen        = posts.Imagen;
                variable.ProductoID    = posts.ProductoID;


                return(variable);
            }
        }