Create discounts for orders

To create an order discount, you must perform the following:

  1. Get the orders manager.
    Get an instance of the OrdersManager object.
  2. Get the order.
    Get the order that the discount will be associated with. For more information, see For developers: Query orders.
  3. Get the parent discount.
    Get an instance of the discount that will be applied to the order.
  4. Create a new order discount.
    Create an instance of the OrderDiscount class by calling the CreateOrderDiscount method of the manager.
  5. Set the properties.
    Set the properties of the OrderDiscount instance to the respective properties of the Discount instance.
  6. Set the savings amount.
    To calculate the savings amount for the order discount, you must perform the following:
    1. Calculate the total discount of the order at this moment.
      To calculate the total discount, sum the values of the SavingsAmount properties of the already added order discounts.
    2. Calculate the savings amount for the current order discount.
      To calculate it, call the CalculateDiscountAmount static method of the DiscountCalculator class. As arguments pass the Discount instance and the difference between the sub total of the order and the total discount at the moment.
  7. Associate the order discount with the discount.
    Set the ParentDiscount property of the OrderDiscount instance to the Discount instance.
  8. Associate the order discount with the order.
    Set the ParentOrder property of the OrderDiscount instance to the Order instance. Add the order discount to the Discounts collection of the order.
  9. Update the total discount.
    Update the value of the DiscountTotal property of the Order instance. To do this, use the values calculated while setting the SavingsAmount value of the OrderDiscount instance.
  10. Save the changes.
    Save the changes to the manager.

Use the following code sample:

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?