Update the customer statistic

The customer statistic must be updated either when a new order is made/paid or when an order is deleted. When deleting an order using the DeleteOrder method of the OrdersManager instance, the statistic is automatically updated. When creating an order through the API you have to manually update the statistic. 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 statistic, but the customer money as well.

To update the customer statistic, 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 statistic.
  5. Update the customer statistic.
    To update the customer statistic, call the UpdateCustomerOrderStatistics method and pass the instances of the customer and the order as arguments. If no customer statistic exists for the customer, the method will create one internally. Note that this method will update the customer money 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 statistic. In this case use the UpdateCustomerOrderStatisticsAfterDeleteOrder method of the CustomerStatisticUpdater class. Like the other method, this one also updates the customer money 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?