public override ExtensibleObject CloneObject() { OrderItemGroup op = new OrderItemGroup() { MerchantSysNo = this.MerchantSysNo, MerchantName = this.MerchantName, Quantity = this.Quantity, MinCountPerSO = this.MinCountPerSO, MaxCountPerSO = this.MaxCountPerSO, ProductItemList = this.ProductItemList == null ? null : this.ProductItemList.ConvertAll <OrderProductItem>(x => x == null ? null : (OrderProductItem)x.Clone()), PackageNo = this.PackageNo, PackageType = this.PackageType, PackageChecked = this.PackageChecked, }; return(op); }
/// <summary> /// 将购物车对象转换成OrderInfo /// </summary> /// <param name="shoppingCart"></param> /// <returns></returns> public static OrderInfo Convert2OrderInfo(ShoppingCart shoppingCart) { OrderInfo orderInfo = new OrderInfo(); orderInfo.Customer = new CustomerInfo(); orderInfo.Customer.SysNo = shoppingCart.CustomerSysNo; orderInfo.Receipt = new ReceiptInfo(); orderInfo.GiftItemList = new List <OrderGiftItem>(); orderInfo.AttachmentItemList = new List <OrderAttachment>(); orderInfo.DiscountDetailList = new List <OrderItemDiscountInfo>(); orderInfo.LanguageCode = shoppingCart.LanguageCode; orderInfo.ChannelID = shoppingCart.ChannelID; orderInfo.OrderItemGroupList = new List <OrderItemGroup>(); foreach (ShoppingItemGroup itemGroup in shoppingCart.ShoppingItemGroupList) { OrderItemGroup orderItemGroup = new OrderItemGroup(); if (itemGroup.PackageChecked) { orderItemGroup.PackageChecked = true; } orderItemGroup.PackageType = itemGroup.PackageType; orderItemGroup.PackageNo = itemGroup.PackageNo; orderItemGroup.Quantity = itemGroup.Quantity; orderItemGroup.ProductItemList = new List <OrderProductItem>(); foreach (ShoppingItem item in itemGroup.ShoppingItemList) { OrderProductItem orderProductItem = new OrderProductItem(); if (item.ProductChecked) { orderProductItem.ProductChecked = true; } orderProductItem.ProductSysNo = item.ProductSysNo; orderProductItem.UnitQuantity = item.UnitQuantity; orderItemGroup.ProductItemList.Add(orderProductItem); } orderInfo.OrderItemGroupList.Add(orderItemGroup); } orderInfo["ShoppingCart"] = shoppingCart; return(orderInfo); }