コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public IActionResult ProductosValorCarritoCliente(ValorCarritoDTO valor)
 {
     try
     {
         return(new JsonResult(servicio.ProductosValorCarritoCliente(valor))
         {
             StatusCode = 201
         });
     }
     catch (System.Exception e)
     {
         return(BadRequest(e.Message));
     }
 }