/// <summary>
 /// Returns is campaign usable or not
 /// </summary>
 /// <param name="cart"></param>
 /// <returns></returns>
 public bool IsUsable(Cart cart)
 {
     return(cart.ProductList.Where((cartItem) => cartItem.Product.CategoryId == _categoryId || CategoryTransaction.GetParentCategoryId(cartItem.Product.CategoryId) == _categoryId)
            .Sum(cartItem => cartItem.Quantity) >= _minimumItemCount);
 }
 public override double CalculateTotalDiscount(Cart cart)
 {
     return(Math.Round(cart.ProductList.Where((cartItem) => cartItem.Product.CategoryId == CategoryId || CategoryTransaction.GetParentCategoryId(cartItem.Product.CategoryId) == CategoryId)
                       .Sum(cartItem => cartItem.Product.Price * cartItem.Quantity) * DiscountAmount / 100, 2));
 }