public async Task <decimal> ValorCarritoCliente(int clienteID) { var db = new QueryFactory(conexion, SqlKataCompiler); var carritoID = db.Query("Carrito"). Select("ID").Where("ClienteID", "=", clienteID).FirstOrDefault <int>(); var productos = db.Query("CarritoProducto"). Select("ProductoID").Where("CarritoID", "=", carritoID).Get <int>().ToList(); decimal valorcarrito = 0; ValorCarritoDTO valor = new ValorCarritoDTO() { productosID = productos }; string url = "https://localhost:44398/api/Producto/ValorCarritoCliente"; 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; valorcarrito = JsonConvert.DeserializeObject <decimal>(resultado); } return(valorcarrito); }
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 IActionResult ProductosValorCarritoCliente(ValorCarritoDTO valor) { try { return(new JsonResult(servicio.ProductosValorCarritoCliente(valor)) { StatusCode = 201 }); } catch (System.Exception e) { return(BadRequest(e.Message)); } }