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); }
public IActionResult ProductosPublicacionesFiltroCategoria(JsonProductoFiltroDto json) { try { return(new JsonResult(servicio.ProductosPublicacionesFiltroCategoria(json)) { StatusCode = 201 }); } catch (System.Exception e) { return(BadRequest(e.Message)); } }
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); }