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