예제 #1
0
 public Basket RemoveProducts(Basket entity, long productId)
 {
     try {
         if (entity.Products == null || productId <= 0)
         {
             return(entity);
         }
         var products = entity.Products.Where(q => q.ProductId == productId).ToArray();
         if (products.Length > 0)
         {
             using (var basket_product_repo = new BasketProductRepository())
             {
                 foreach (var product in products)
                 {
                     basket_product_repo.Delete(product.Id);
                     entity.Products.Remove(product);
                 }
             }
             return(GetBasket(entity.UserId));
         }
         else
         {
             throw new NotFoundException(string.Format("Couldn't remove Products with Id '{0}' from ShoppingCart. No one Product with Id '{1}' not found!", productId, productId));
         }
     }
     catch (Exception ex)
     {
         throw new NotFoundException(string.Format("Couldn't remove Products with Id '{0}' from ShoppingCart.", productId));
     }
 }
예제 #2
0
        public Basket ClearBasket(string userId)
        {
            var basket = GetBasket(userId);

            if (basket == null)
            {
                return(CreateBasket(userId));
            }
            if (basket.Products != null && basket.Products.Count > 0)
            {
                using (var basket_product_repo = new BasketProductRepository())
                {
                    foreach (var product_to_remove in basket.Products)
                    {
                        basket_product_repo.Delete(product_to_remove.Id);
                    }
                }
                basket.Products.Clear();
            }
            return(basket);
        }
예제 #3
0
 public Basket RemoveProduct(Basket entity, long productId)
 {
     try
     {
         var product_to_remove = entity.Products.Where(q => q.ProductId == productId).FirstOrDefault();
         if (product_to_remove != null)
         {
             entity.Products.Remove(product_to_remove);
             using (var basket_product_repo = new BasketProductRepository())
             {
                 basket_product_repo.Delete(product_to_remove);
             }
             return(entity);
         }
         else
         {
             throw new NotFoundException(string.Format("Couldn't remove Product with Id '{0}' from ShoppingCart. Product not found!", productId));
         }
     }
     catch (Exception ex)
     {
         throw new NotFoundException(string.Format("Couldn't remove Product with Id '{0}' from ShoppingCart.", productId));
     }
 }