Update the customer money

The customer money must be updated either when a new order is made or paid or when an order is deleted. When deleting an order using the DeleteOrder method of the OrdersManager instance, the customer money is automatically updated. When creating an order through the API you have to manually update the customer money. Depending on your logic you can execute the code below when creating an order or when setting its status to “Paid”.

NOTE: The code example below updates not only the customer money, but the customer statistic as well.

To update the customer money, when an order is created, you must perform the following:

  1. Get an instance of the manager.
    Get an instance of the OrdersManager object.
  2. Get the specified customer.
    Get an instance of the customer. For more information, read For developers: Query customers.
  3. Get the specified order.
    Get an instance of the specified order. For more information, see For developers: Query orders.
  4. Create an instance of the CustomerStatisticUpdater class.
    The CustomerStatisticUpdater class exposes a method that handles the updating of the customer money.
  5. Update the customer money.
    To update the customer statistic, call the UpdateCustomerOrderStatistics method and pass the instances of the customer and the order as arguments. If no customer money exist for the customer, the method will create an instance internally. Note that this method will update the customer statistic as well. Also, you do not have to call the SaveChanges method of the manager, because it is called internally by the CustomerStatisticUpdater.

    NOTE:  In case you delete an Order in a way different than using the DeleteOrder method of the manager, you must manually update the customer money. In this case use the UpdateCustomerOrderStatisticsAfterDeleteOrder method of the CustomerStatisticUpdater class. Like the other method, this one also updates the customer statistic as well.

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?