Ejemplo n.º 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);
        }
Ejemplo n.º 2
0
        public async Task <List <ProductoEspecificoDto> > TraerProductosPublicacionesPanel()
        {
            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;

            JsonProductoDTO jsonDTO = new JsonProductoDTO();

            jsonDTO.productosID     = Productos;
            jsonDTO.publicacionesID = Publicaciones;



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

            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);
        }
Ejemplo n.º 3
0
 public IActionResult GetProductosID(JsonProductoDTO json)
 {
     try
     {
         return(new JsonResult(servicio.GetProductosID(json))
         {
             StatusCode = 201
         });
     }
     catch (System.Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Ejemplo n.º 4
0
        public async Task <List <ProductoEspecificoDto> > getProductosPublicaciones(int CANTIDAD)//recibir el offset por parametro.
        {
            var db        = new QueryFactory(conexion, SqlKataCompiler);
            var Productos = db.Query("Publicaciones").
                            Select("ProductoID").Limit(6).Offset(CANTIDAD).Get <int>().ToList();
            //recordar cambiar la logica y aplicar el limit.
            //string productosID = "";
            //ahora voy a hacer la paginacion de forma correcta.
            //lo que siempre voy a pedir  por parámetor es el offset.
            var Publicaciones = db.Query("Publicaciones").
                                Select("ID").Limit(6).Offset(CANTIDAD).Get <int>().ToList();


            List <ProductoEspecificoDto> posts = null;
            //for (int x=0; x<Publicacion.Count; x++)
            //{
            //    productosID += Publicacion[x];
            //}
            JsonProductoDTO jsonDTO = new JsonProductoDTO();

            jsonDTO.productosID     = Productos;
            jsonDTO.publicacionesID = Publicaciones;

            //string url = "https://localhost:44370/api/Producto/ProductosID?productosID="+productosID;

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

            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);

                //string request = await httpClient.GetStringAsync(url);
                //        posts = JsonConvert.DeserializeObject<List<ProductoDTO>>(request);
            }


            return(posts);
        }