其次、分析出事务。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/F2122036875.png" />
一般来说购物的流程是这样的流程。当然这里也不是标准的形式。
那么我们如何上述的几个步骤的内容,去完成这个事务的流程。
- public class BuyInfo
- {
- /// <summary>
- /// 购物车中的产品列表
- /// </summary>
- private List<Product> proList = new List<Product>();
- public int CreateBuyCar(Product product)
- {
- //事务开始
- this.BeginTranstion();
- //判定当前添加到购物车中的产品信息是否是自己发布的产品
- if (!this.IsCanBuy(product.PutOutID))
- return;
- //判定当前产品的库存信息是否大于当前购买的数量;
- if(!this.IsLagerThenBuy(product.PutOutID))
- return;
- //添加产品到购物车
- proList.Add(product);
- //处理生成订单信息
- int orderID= this.CreateOrder();
- //事务结束
- this.EndTranstion();
- return orderID;
- }
- /// <summary>
- /// 生成订单
- /// </summary>
- /// <returns></returns>
- private int CreateOrder()
- {
- Order order = new Order(this);
- return order.CreateOrder();
- }
- /// <summary>
- /// 判定当前产品的库存信息是否大于当前购买的数量
- /// </summary>
- /// <param name="p"></param>
- /// <returns></returns>
- private bool IsLagerThenBuy(int p)
- {
- return false;
- }
- /// <summary>
- /// 判定是否是自己发布的产品信息
- /// </summary>
- /// <param name="p"></param>
- private bool IsCanBuy(int p)
- {
- return false;
- }
- private void EndTranstion()
- {
- //TODO..
- }
- private void BeginTranstion()
- {
- //TODO..
- }
- }
这里定义的是添加到购物车的流程,下面将给出如何将购物车中的产品信息添加到订单中的具体流程。
- public class Order
- {
- private BuyInfo info;
- public Order(BuyInfo buyInfo)
- {
- info = buyInfo;
- }
- public int CreateOrder()
- {
- //将BuyInfo购物车中的产品列表与订单信息进行关联。
- this.InitOrderInfo();
- //将订单中的会员信息关联
- this.InitOrderUserInfo();
- //将订单中的收货信息关联。
- this.InitOrderReciveInfo();
- //将订单中的支付信息关联。
- this.InitOrderPayInfo();
- //生成订单。
- }
- /// <summary>
- /// 将购物车中的产品添加到数据库中
- /// </summary>
- private void InitOrderInfo()
- {
- throw new NotImplementedException();
- }
- /// <summary>
- /// 初始化订单的支付信息
- /// </summary>
- private void InitOrderPayInfo()
- {
- throw new NotImplementedException();
- }
- /// <summary>
- /// 初始化订单中的收货信息
- /// </summary>
- private void InitOrderReciveInfo()
- {
- throw new NotImplementedException();
- }
- /// <summary>
- /// 初始化订单的买家信息
- /// </summary>
- private void InitOrderUserInfo()
- {
- throw new NotImplementedException();
- }
- }
通