Пример #1
0
        public async Task <List <ProductoEspecificoDto> > ProductosPublicacionFiltro(string filtro)//recibir el offset por parametro.
        {
            var db        = new QueryFactory(conexion, SqlKataCompiler);
            var Productos = db.Query("Publicaciones").
                            Select("ProductoID").Get <int>().ToList();
            var Publicaciones = db.Query("Publicaciones").
                                Select("ID").Get <int>().ToList();


            List <ProductoEspecificoDto> posts   = null;
            JsonProductoFiltroDto        jsonDTO = new JsonProductoFiltroDto();

            jsonDTO.productosID     = Productos;
            jsonDTO.filtro          = filtro;
            jsonDTO.publicacionesID = Publicaciones;
            string url = "https://localhost:44370/api/Producto/ProductosPublicacionesFiltro";

            using (var httpClient = new HttpClient())
            {
                var json = Newtonsoft.Json.JsonConvert.SerializeObject(jsonDTO, 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;
                posts = JsonConvert.DeserializeObject <List <ProductoEspecificoDto> >(resultado);
            }


            return(posts);
        }
Пример #2
0
 public IActionResult ProductosPublicacionesFiltroCategoria(JsonProductoFiltroDto json)
 {
     try
     {
         return(new JsonResult(servicio.ProductosPublicacionesFiltroCategoria(json))
         {
             StatusCode = 201
         });
     }
     catch (System.Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Пример #3
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);
        }