应用商城不可或缺的购物车功能,总结如下
步骤1:定义购物车的实体,以及对加入购物车的一些方法,如增加删除清空等方法,在域模型中新增两个类,分别是 Cart 和CartLine.cs,代码如下:
public class Cart
{
private List<CartLine> lineCollection = new List<CartLine>();
public void AddItem(Product product,int quantity)
{
CartLine line = lineCollection
.Where(p => p.Product.ProductID == product.ProductID)
.FirstOrDefault();
if (line == null)
{
lineCollection.Add(new CartLine { Product = product, Quantity = quantity });
}
else
{
line.Quantity += quantity;
}
}
public void RemoveLine(Product product)
{
lineCollection.RemoveAll(l => l.Product.ProductID == product.ProductID);
}
public decimal ComputeTotalValue()
{
return lineCollection.Sum(e => e.Product.Price * e.Quantity);
}
public void Clear()
{
lineCollection.Clear();
}
public IEnumerable<CartLine> Line