Esempio n. 1
0
        public async Task AddToCart(int cartId, int categoryId, decimal price, int quantity)
        {
            var cart = await _CartRepository.GetByIdAsync(cartId);

            cart.AddItem(categoryId, price, quantity);

            await _CartRepository.UpdateAsync(cart);
        }
Esempio n. 2
0
        public async Task CreateOrderAsync(int cartId, Address shipAddress)
        {
            var cart = await _cartRepository.GetByIdAsync(cartId);

            var items = new List <OrderItem>();

            foreach (var item in cart.Items)
            {
                var catalogItem = await _productRepository.GetByIdAsync(item.CategoryItemId);

                var itemOrdered = new CategoryOrdered(catalogItem.Id, catalogItem.Name);
                var orderItem   = new OrderItem(itemOrdered, item.UnitPrice, item.UnitQuantity);
                items.Add(orderItem);
            }
            var order = new Order(cart.UserId, shipAddress, items);

            await _orderRepository.AddAsync(order);
        }