Query customers

Query a single customer by a parameter

To query a single customer, you must perform the following:

  1. Get the orders manager.
    Get an instance of the OrdersManager object.
  2. Get the customer.
    To get the customer, you must either call the GetCustomer method of the manager and pass the ID of the customer as an argument, or call the GetCustomers method of the manager and filter the query by the desired criteria (e.g. mail, ID of the user).

Use the following code samples to query a customer by ID, mail, or user:

Query a customer by ID
using System;
using Telerik.Sitefinity.Ecommerce.Orders.Model;
using Telerik.Sitefinity.Modules.Ecommerce.Orders;
namespace SitefinityWebApp
{
public class QueryCustomerByID
{
public static Customer GetCustomerById(Guid customerId)
{
OrdersManager ordersManager = OrdersManager.GetManager();
Customer customer = ordersManager.GetCustomer(customerId);
return customer;
}
}
}

Query customer by mail

using System.Linq;
using Telerik.Sitefinity.Ecommerce.Orders.Model;
using Telerik.Sitefinity.Modules.Ecommerce.Orders;
namespace SitefinityWebApp
{
public class QueryCustomerByMail
{
public static Customer GetCustomerByMail(string mail)
{
OrdersManager ordersManager = OrdersManager.GetManager();
Customer customer = ordersManager.GetCustomers().SingleOrDefault(c => c.CustomerEmail == mail);
return customer;
}
}
}

Query a customer by user

using System;
using System.Linq;
using Telerik.Sitefinity.Ecommerce.Orders.Model;
using Telerik.Sitefinity.Modules.Ecommerce.Orders;
using Telerik.Sitefinity.Security;
using Telerik.Sitefinity.Security.Model;
namespace SitefinityWebApp
{
public class QueryCustomerByUser
{
public static Customer GetCustomerByUser(Guid userId)
{
OrdersManager ordersManager = OrdersManager.GetManager();
UserProfileManager userProfileManager = UserProfileManager.GetManager();
UserManager userManager = UserManager.GetManager();
User user = userManager.GetUser(userId);
SitefinityProfile profile = userProfileManager.GetUserProfile<SitefinityProfile>(user);
Customer customer = ordersManager.GetCustomers().SingleOrDefault(c => c.UserProfileId == profile.Id);
return customer;
}
}
}

Query all customers

To query all customers, you must perform the following:

  1. Get an instance of the manager.
    Get an instance of the OrdersManager object.
  2. Get the customers.
    To get the customers, you must call the GetCustomers method of the manager.

Use the following code sample:

using System.Linq;
using Telerik.Sitefinity.Ecommerce.Orders.Model;
using Telerik.Sitefinity.Modules.Ecommerce.Orders;
namespace SitefinityWebApp
{
public class QueryAllCustomers
{
public static IQueryable<Customer> GetCustomers()
{
OrdersManager ordersManager = OrdersManager.GetManager();
IQueryable<Customer> customers = ordersManager.GetCustomers();
return customers;
}
}
}

Want to learn more?

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?

Next article

Modify customers