Ejemplo n.º 1
0
        public async Task <IActionResult> CreateNewCartAsync(
            [FromBody] CartContentsRequestDto cartContents
            )
        {
            var cart = await _cartRepository.CreateShoppingCartAsync(cartContents);

            var result = _mapper.Map <CartResponseDto>(cart);

            return(CreatedAtRoute("GetCartByIdAsync", new { cartId = cart.Id }, result));
        }
Ejemplo n.º 2
0
        public async Task <Cart> CreateShoppingCartAsync(CartContentsRequestDto cartContentsRequest)
        {
            var cart = new Cart();

            if (cartContentsRequest.Products.Any())
            {
                cart.Products = _mapper.Map <List <CartItem> >(cartContentsRequest.Products).ToList();
            }
            _dbContext.Add(cart);

            await _dbContext.SaveChangesAsync();

            return(await EnrichCart(cart));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> UpdateCartAsync(
            Guid cartId,
            [FromBody] CartContentsRequestDto cartContents)
        {
            var cart = await _cartRepository.UpdateShoppingCartAsync(cartId, cartContents);

            if (cart == null)
            {
                return(NotFound());
            }

            var result = _mapper.Map <CartResponseDto>(cart);

            return(Ok(result));
        }
Ejemplo n.º 4
0
        public async Task <Cart> UpdateShoppingCartAsync(Guid cartId,
                                                         CartContentsRequestDto cartContentsRequest)
        {
            var cart = await FindByIdAsync(cartId);

            if (cart == null)
            {
                return(null);
            }

            cart.Products  = _mapper.Map <List <CartItem> >(cartContentsRequest.Products).ToList();
            cart.UpdatedAt = DateTimeOffset.UtcNow;

            _dbContext.Update(cart);

            await _dbContext.SaveChangesAsync();

            return(await EnrichCart(cart));

            //return cart;
        }