How to Add a LineItem to an OrderForm
For the latest version of Commerce Server 2007 Help, see the Microsoft Web site.
A LineItem represents a product that the user placed in a shopping cart. A LineItem identifies both the product that it represents and the quantity of that product that the user placed in the shopping cart.
A LineItem is contained in a LineItemCollection, which is contained, indirectly, in a Basket.
To add a LineItem to a Basket
In Visual Studio, create a new Commerce Server Web application.
Add the Microsoft.CommerceServer.Runtime resource to the Web application.
Add a using directive for the Microsoft.CommerceServer.Runtime.Orders namespace.
Create or retrieve a Basket.
Create or retrieve an OrderForm.
Create a new LineItem and add the LineItem to the LineItemCollection in the OrderForm.
Save the updated Basket.
Example
The following code shows an example of how to add two LineItems to a Basket.
This example builds on the example in the topic How to Add an OrderForm to a Basket.
using System;
using System.Collections;
using System.Web;
using Microsoft.CommerceServer.Runtime.Orders;
public partial class Default_aspx : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// For this example, create a new Guid for the user's ID.
// If this were part of a full CommerceServer site that
// implemented logons, we could get the ID of the current
// user from the CommerceContext.
Guid userID = Guid.NewGuid();
// Create a new Basket named "wish list".
Basket myBasket = OrderContext.Current.GetBasket(userID, "wish list");
// Create a new OrderForm.
OrderForm orderForm = new OrderForm();
// Create two LineItems, and add them to the OrderForm.
LineItem item1 = new LineItem("Holiday", "ABC-123", "", 1);
LineItem item2 = new LineItem("Holiday", "XYZ-789", "", 5);
orderForm.LineItems.Add(item1);
orderForm.LineItems.Add(item2);
// Add the OrderForm to the OrderFormCollection
// in the Basket.
myBasket.OrderForms.Add(orderForm);
// Validate that we've really added the LineItems by
// displaying the contents of the Basket.
foreach (OrderForm theOrder in myBasket.OrderForms)
{
foreach (LineItem theItem in theOrder.LineItems)
{
Response.Write("product ID: " + theItem.ProductId.ToString());
Response.Write(" quantity: " + theItem.Quantity.ToString() + "<br>");
} // end foreach LineItem
} // end foreach OrderForm
// Save the Basket.
myBasket.Save();
} // end Page_Load method
} // end Default_aspx class