在购物车中购买不同商家的商品时,如何实现对每个店铺都生成一个订单
用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);
}
dic[Product.ShopID].ProductList.Add(Product);
}
foreach (var item in dic)
{
Console.WriteLine("订单号:" + item.Value.ID);
foreach (var childItem in item.Value.ProductList)
{
Console.WriteLine("---商铺号:" + childItem.ShopID);
Console.WriteLine("---商品名:" + childItem.Name);
}
}
Console.Read();
public class Product
{
public string Name { get; set; }
public int ShopID { get; set; }
}
public class Order
{
public int ID { get; set; }
public List<Product> ProductList { get; set; }
public Order()
{
ProductList = new List<Product>();
}
}