예제 #1
0
        public async Task AddItemToBasket(int basketId, int productId, int quantity)
        {
            //sepetteki kalem adedi 1 den az'sa hata fırlat
            if (quantity < 1)
            {
                throw new ArgumentException("Quantity can not be zero or a negative number ");
            }
            var spec       = new BasketItemSpecification(basketId, productId);
            var basketItem = await _basketItemRepository.FirstOrDefaultAsync(spec);

            if (basketItem != null)
            {
                //
                basketItem.Quantity += quantity;
                await _basketItemRepository.UpdateAsync(basketItem);
            }

            else
            {
                basketItem = new BasketItem()
                {
                    BasketId = basketId, ProductId = productId, Quantity = quantity
                };
                await _basketItemRepository.AddAsync(basketItem);
            }
        }
예제 #2
0
        public async Task <int> BasketItemsCount(int basketId)
        {
            // basketId 'sine göre sepetteki kalem adedini say
            //basketItemspecification' da sepetId'leri eşleştirdik, eşleştirdiğimiz sepetin kalem adedini say.
            var spec = new BasketItemSpecification(basketId);

            return(await _basketItemRepository.CountAsync(spec));
        }
예제 #3
0
 public async Task<int> BasketItemsCount(string buyerId)
 {
     if (!await BasketExistsAsync(buyerId))
     {
         return 0;
     }
     var basketId = await GetBasketIdAsync(buyerId);
     var spec = new BasketItemSpecification(basketId);
     return await _basketItemRepository.CountAsync(spec);
 }
예제 #4
0
        public async Task AddItemToBasket(int basketId, int productId, int quantity)
        {
            if (quantity < 1)
            {
                throw new ArgumentException("Quantity can not be 0 or negative number.");//miktar 1 den küçükse hata fırlat
            }
            var spec       = new BasketItemSpecification(basketId, productId);
            var basketItem = await _basketItemRepository.FirstOrDefaultAsync(spec);

            if (basketItem != null)
            {
                basketItem.Quantity += quantity;// varsa miktarını bir arttır.
                await _basketItemRepository.UpdateAsync(basketItem);
            }
            else
            {
                basketItem = new BasketItem()
                {
                    BasketId = basketId, ProductId = productId, Quantity = quantity
                };                                                                                                //yoksa yeni bi ürün getir.
                await _basketItemRepository.AddAsync(basketItem);
            }
        }
예제 #5
0
        public async Task AddItemBasket(int basketId, int productId, int quantity)
        {
            if (quantity < 1)
            {
                throw new ArgumentException("Quantity can not be 'zero' or negative number.");
            }

            var spec       = new BasketItemSpecification(basketId, productId);
            var basketItem = await _basketItemRepository.FirstOfDefaultAsync(spec);

            if (basketItem != null)
            {
                basketItem.Quantity += quantity;
                await _basketItemRepository.UpdateAsync(basketItem);
            }
            else
            {
                basketItem = new BasketItem()
                {
                    BasketId = basketId, ProductId = productId, Quantity = quantity
                };
                await _basketItemRepository.AddAsync(basketItem);
            }
        }
예제 #6
0
        public async Task <int> BasketItemCount(int basketId)
        {
            var spec = new BasketItemSpecification(basketId);

            return(await _basketItemRepository.CountAsync(spec));
        }