Class DiscountService
- Namespace
- Dynamicweb.Ecommerce.Orders.Discounts
- Assembly
- Dynamicweb.Ecommerce.dll
The DiscountService class providing methods for querying and saving The Discount aggregate to and from persistence.
public class DiscountService : ICacheStorage<int, Discount>, ICacheStorage<int>, ICacheStorage
- Inheritance
-
DiscountService
- Implements
- Inherited Members
Methods
ClearCache()
Clears the cache.
public void ClearCache()
ClearCache(IEnumerable<int>)
Resets the specified keys to the default value for objects stored in the object cache
public void ClearCache(IEnumerable<int> keys)
Parameters
keysIEnumerable<int>- Keys to reset
ClearCache(int)
Resets the specified key to the default value for objects stored in the object cache
public void ClearCache(int key)
Parameters
keyint- Key to reset
Delete(int)
Deletes the discount and its translations.
public void Delete(int discountId)
Parameters
discountIdint- The discount ID.
GetActiveOrderAndOrderInclusiveDiscounts()
Gets active order and order inclusive discounts.
public IEnumerable<Discount> GetActiveOrderAndOrderInclusiveDiscounts()
Returns
GetActiveOrderInclusiveDiscounts()
Gets active order inclusive discounts.
public IEnumerable<Discount> GetActiveOrderInclusiveDiscounts()
Returns
GetActiveOrderLineDiscounts()
Gets active order line discounts.
public IEnumerable<Discount> GetActiveOrderLineDiscounts()
Returns
GetApplicableDiscountsForProduct(string, string, string, Currency, User)
Gets the discounts for a given product in a given context
[Obsolete("Do not use")]
public IEnumerable<Discount> GetApplicableDiscountsForProduct(string productId, string variantId, string languageId, Currency currency, User user)
Parameters
productIdstring- The id of the product.
variantIdstring- The variant id of the product. Can be null
languageIdstring- The languageid. Retrieves the discounts in the specified language and is used for checks as well
currencyCurrency- The currency. Used for checking discounts for the correct currency
userUser- The user. Used for checking if discounts are valid for the given user
Returns
- IEnumerable<Discount>
- System.Double.
Remarks
Retrieves a checked list of product discounts that are applicable for a given product.
If the discount has rules for curreny, country code, user and language and values ared passed to this method, the appropiate checks are made.
If a discount has limitation in order totals and quantity, order time, order country, shipping and payment and other order related information, these checks are not performed
GetDiscount(int)
Gets the discount.
public Discount GetDiscount(int discountId)
Parameters
discountIdint
Returns
GetDiscountGiven(Discount, Currency)
Gets the discount given for a discount in the specified currency.
public double GetDiscountGiven(Discount discount, Currency currency)
Parameters
Returns
- double
- System.Double.
Remarks
If a discount have been given in more than one currency, only the discount for the specified currency is returned. Discounts are not converted from other currencies
GetDiscountGivenTotal(DateTime)
Gets the information about discounts given since the specified date.
public DiscountGivenTotal GetDiscountGivenTotal(DateTime startDate)
Parameters
startDateDateTime- The start date.
Returns
GetDiscounts()
Gets all discounts.
public IEnumerable<Discount> GetDiscounts()
Returns
- IEnumerable<Discount>
- The collection of the Discount.
GetDiscounts(DiscountApplyType)
Gets the discounts with specified DiscountApplyType.
[Obsolete("Consider to use GetActiveOrderLineDiscounts, GetActiveOrderAndOrderInclusiveDiscounts or GetActiveOrderInclusiveDiscounts instead.")]
public IEnumerable<Discount> GetDiscounts(DiscountApplyType orderDiscountType)
Parameters
orderDiscountTypeDiscountApplyType- The DiscountApplyType.
Returns
- IEnumerable<Discount>
- The collection of the Discount.
GetDiscounts(Group, bool)
public IEnumerable<Discount> GetDiscounts(Group group, bool excludingDiscount)
Parameters
Returns
GetDiscounts(Product, bool)
public IEnumerable<Discount> GetDiscounts(Product product, bool excludingDiscount)
Parameters
Returns
GetDiscounts(int, int, SortBy, SortDirection)
Gets the discounts sorted by the specified comparer in the specified zero-indexed range.
[Obsolete("Use GetDiscounts(rangeStart, rangeEnd, sortBy, sortDirection, totalCount) instead")]
public IEnumerable<Discount> GetDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
Returns
GetDiscounts(int, int, SortBy, SortDirection, bool, IEnumerable<Shop>)
Gets the discounts sorted by the specified comparer in the specified zero-indexed range.
[Obsolete("Use GetDiscounts(rangeStart, rangeEnd, sortBy, sortDirection, assignableFromProducts, shops, discountsCount) instead")]
public IEnumerable<Discount> GetDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection, bool assignableFromProducts, IEnumerable<Shop> shops)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
assignableFromProductsbool- The aasignable from products.
shopsIEnumerable<Shop>- The shops.
Returns
GetDiscounts(int, int, SortBy, SortDirection, bool, IEnumerable<Shop>, ref int)
Gets the discounts sorted by the specified comparer in the specified zero-indexed range.
public IEnumerable<Discount> GetDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection, bool assignableFromProducts, IEnumerable<Shop> shops, ref int totalCount)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
assignableFromProductsbool- The aasignable from products.
shopsIEnumerable<Shop>- The shops.
totalCountint- Returns the total count of discounts.
Returns
GetDiscounts(int, int, SortBy, SortDirection, ref int)
Gets the discounts sorted by the specified comparer in the specified zero-indexed range.
public IEnumerable<Discount> GetDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection, ref int totalCount)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
totalCountint- Returns the total count of discounts.
Returns
GetDiscounts(int, int, SortBy, SortDirection, string, ref int)
Gets the discounts sorted by the specified comparer in the specified zero-indexed range.
public IEnumerable<Discount> GetDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection, string shopId, ref int totalCount)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
shopIdstring- The shop ID.
totalCountint- Returns the total count of discounts.
Returns
GetDiscountsGiven(IEnumerable<Discount>)
Gets the discounts given for the specified list of discounts.
public IEnumerable<DiscountGiven> GetDiscountsGiven(IEnumerable<Discount> discounts)
Parameters
discountsIEnumerable<Discount>- The discounts.
Returns
- IEnumerable<DiscountGiven>
- IEnumerable(Of DiscountGiven).
Remarks
One item is returned for each discount and currency combination
GetDiscountTranslations(int)
Gets all translations for the discount.
[Obsolete("Use GetDiscount and then use the Translations property on the discount.")]
public IEnumerable<DiscountTranslation> GetDiscountTranslations(int discountId)
Parameters
discountIdint
Returns
- IEnumerable<DiscountTranslation>
- The collection of the DiscountTranslation.
GetGroupDiscounts(Product, bool)
public IEnumerable<Discount> GetGroupDiscounts(Product product, bool excludingDiscount)
Parameters
Returns
GetLoyaltyDiscountPrice(Order, double)
Gets the first Loyalty discount which is applicable for order and calculate the loyalty points cost based on the discount rate.
public PriceInfo GetLoyaltyDiscountPrice(Order order, double points)
Parameters
orderOrder- The order where you wish to apply the discount.
pointsdouble- The number of loyalty points to calculate their cost.
Returns
GetOrderCountByEmail(Discount, string)
public virtual int GetOrderCountByEmail(Discount discount, string email)
Parameters
Returns
GetOrderCountByUserId(Discount, int)
public virtual int GetOrderCountByUserId(Discount discount, int userid)
Parameters
Returns
GetOrderDiscounts(int, int, SortBy, SortDirection, ref int)
Gets the order discounts (inclusive and exclusive) sorted by the specified comparer in the specified zero-indexed range.
public IEnumerable<Discount> GetOrderDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection, ref int totalCount)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
totalCountint- Returns the total count of discounts.
Returns
GetOrderDiscounts(int, int, SortBy, SortDirection, string, ref int)
Gets the order discounts (inclusive and exclusive) sorted by the specified comparer in the specified zero-indexed range.
public IEnumerable<Discount> GetOrderDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection, string shopId, ref int totalCount)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
shopIdstring- The shop ID.
totalCountint- Returns the total count of discounts.
Returns
GetProductDiscounts(int, int, SortBy, SortDirection, ref int)
Gets the product discounts (orderline discounts) sorted by the specified comparer in the specified zero-indexed range.
public IEnumerable<Discount> GetProductDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection, ref int totalCount)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
totalCountint- Returns the total count of discounts.
Returns
GetProductDiscounts(int, int, SortBy, SortDirection, string, ref int)
Gets the product discounts (orderline discounts) sorted by the specified comparer in the specified zero-indexed range.
public IEnumerable<Discount> GetProductDiscounts(int rangeStart, int rangeEnd, SortBy sortBy, SortDirection sortDirection, string shopId, ref int totalCount)
Parameters
rangeStartint- The start index.
rangeEndint- The end index.
sortBySortBy- The sort by.
sortDirectionSortDirection- The sort direction.
shopIdstring- The shop ID.
totalCountint- Returns the total count of discounts.
Returns
Save(Discount)
Saves the discount and its translations.
public Discount Save(Discount discount)
Parameters
discountDiscount- The discount.
Returns
- Discount
- The discount after saving.
SaveDiscountTranslation(int, DiscountTranslation)
Saves the discount translation.
[Obsolete("Use discount.Translations instead.")]
public DiscountTranslation SaveDiscountTranslation(int discountId, DiscountTranslation translation)
Parameters
discountIdint- The discount ID.
translationDiscountTranslation- The translation.