日期:2014-05-17  浏览次数:20397 次

在购物车中购买不同商家的商品时,如何实现对每个店铺都生成一个订单
用ASP.net做一个有点类似于淘宝的电子商务交易平台,在购物车中购买不同商家的商品时,如何实现购物车内的商品按店铺划分,并对每个店铺都生成一个订单?
之前写了个简单的购物车,只能将整个购物车的内容生成一个订单,如何对每个店铺都生成一个订单,让商家进行订单处理呢?就像淘宝那样
ASP.NET 购物车 c#

------解决方案--------------------
按店铺将购物车的内容分组,每组生成一个订单
------解决方案--------------------
Program.cs片段

int Count = 0;
Dictionary<int, Order> dic = new Dictionary<int, Order>();
List<Product> ProductList = new List<Product> 
{
    new Product
    {
        ShopID = 1,
        Name = "商品一"
    },
    new Product
    {
        ShopID = 2,
        Name = "商品二"
    },
    new Product
    {
        ShopID = 1,
        Name = "商品三"
    },
    new Product
    {
        ShopID = 2,
        Name = "商品四"
    },
    new Product
    {
        ShopID = 3,
        Name = "商品五"
    }
};
Order CurOrder = null;

foreach (var Product in ProductList)
{
    dic.TryGetValue(Product.ShopID, out CurOrder);
    if (CurOrder == null)
    {
        CurOrder = new Order { ID = ++Count };
        dic.Add(Product.ShopID, CurOrder);