예제 #1
0
        public async Task <CartItemDto> CreateCartItem(CartItemDto dto)
        {
            var cartItem = _mapper.Map <CartItem>(dto);

            cartItem = await _cartRepository.CreateCartItem(cartItem);

            return(dto);
        }
예제 #2
0
        public async Task <CartItemDto> AddToCart(CartItemDto dto, string userId)
        {
            var userCartItems = await _cartRepository.GetUserCartItems(userId);

            bool isAlreadyInCart = userCartItems.Any(ci => ci.ProductId == dto.ProductId);

            if (!isAlreadyInCart)
            {
                await CreateCartItem(dto);
            }
            else
            {
                var cartItem = await _cartRepository.GetCartItemAlreadyInCart(dto.ProductId, userId);

                cartItem.Quantity += dto.Quantity;
                await _cartRepository.UpdateCartItem(cartItem);
            }

            return(dto);
        }