Querying orders

This topic contains the following:

  • Querying a single order
  • Querying orders by customer
  • Querying orders by product
  • Querying all orders

Querying a single order

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

  1. Get an instance of the manager.
    Get an instance of the OrdersManager object.
  2. Get the order.
    To get the order, you must either call the GetOrder method and pass the ID of the order as an argument, or call the GetOrders method and filter the collection by the desired criteria (e.g. by order number).

Here are examples of querying a single order by ID and by order number:

Querying an order by ID

public static Order GetOrderById(Guid orderId)
{
    OrdersManager ordersManager = OrdersManager.GetManager();
 
    Order order = ordersManager.GetOrder(orderId);
 
    return order;
}

Querying an order by order number

public static Order GetOrderByNumber(int orderNumber)
{
    OrdersManager ordersManager = OrdersManager.GetManager();
 
    Order order = ordersManager.GetOrders().SingleOrDefault(o => o.OrderNumber == orderNumber);
 
    return order;
}

Querying orders by customer

To query orders by customer, you must perform the following:

  1. Get an instance of the manager.
    Get an instance of the OrdersManager object.  
  2. Get the orders.
    To get the orders, you must call the GetOrders method of the manager and filter the query by the ID of the customer.

Here is a code example:

public static IQueryable<Order> GetOrdersByCustomer(Guid customerId)
{
    OrdersManager ordersManager = OrdersManager.GetManager();
 
    IQueryable<Order> orders = ordersManager.GetOrders().Where(o => o.Customer.Id == customerId);
 
    return orders;
}

Querying orders by product

To query orders by product, you must perform the following:

  1. Get an instance of the manager.
    Get an instance of the OrdersManager object.
  2. Get the orders.
    To get the orders, you must call the GetOrders method of the manager and filter the query by the ID of the product.

Here is a code example:

public static IQueryable<Order> GetOrdersByProduct(Guid productId)
{
    OrdersManager ordersManager = OrdersManager.GetManager();
 
    IQueryable<Order> orders = ordersManager.GetOrders().Where(o => o.Details.Where(d => d.ProductId == productId).Count() > 0);
 
    return orders;
}

Querying all orders

To query all orders, you must perform the following:

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

Here is a code example:

public static IQueryable<Order> GetOrders()
{
    OrdersManager ordersManager = OrdersManager.GetManager();
 
    IQueryable<Order> orders = ordersManager.GetOrders();
 
    return orders;
}

Next steps

+1-888-365-2779
sales@sitefinity.com

Related topics:

Feedback

How useful is this article?

Tell us more

Submit
Your message was successfully sent.

We appreciate your feedback.

Your message could not be sent.

OK