using System; using System.Collections.Generic; using System.Linq; namespace BBWY.Client.Models { public class Order : NotifyObject { public Order() { OrderCostDetailGroupList = new List(); } private StorageType? storageType; private OrderState orderState; private string waybillNo; public string Id { get; set; } /// /// 商家Id /// public string VenderId { get; set; } /// /// 下单时间 /// public DateTime OrderStartTime { get; set; } /// /// 结单时间 /// public DateTime? OrderEndTime { get; set; } /// /// 买家账号 /// public string BuyerAccount { get; set; } /// /// 订单平台 /// public Platform Platform { get; set; } /// /// 订单类型 /// public OrderType OrderType { get; set; } /// /// 支付方式 /// public PayType PayType { get; set; } /// /// 订单状态中文说明 /// public string OrderStateText { get; set; } /// /// 订单总价 /// public decimal OrderTotalPrice { get; set; } /// /// 订单货款金额 /// public decimal OrderSellerPrice { get; set; } /// /// 用户应付金额 /// public decimal OrderPayment { get; set; } /// /// 商品运费(用户付) /// public decimal FreightPrice { get; set; } /// /// 商家优惠金额 /// public decimal PreferentialAmount { get; set; } /// /// 买家备注 /// public string BuyerRemark { get; set; } /// /// 商家备注 /// public string VenderRemark { get; set; } /// /// 仓储类型 /// public StorageType? StorageType { get => storageType; set { Set(ref storageType, value); } } /// /// 仓库名称 /// public string StoreName { get; set; } /// /// 订单旗帜 /// public string Flag { get; set; } /// /// 刷单类型 /// public SDType? SDType { get; set; } /// /// 收货人信息 /// public Consignee Consignee { get; set; } /// /// 订单成本 /// public OrderCost OrderCost { get; set; } public IList ItemList { get; set; } /// /// 优惠券列表 /// public IList OrderCouponList { get; set; } /// /// 订单成本明细列表 /// public IList OrderCostDetailList { get; set; } /// /// 订单成本明细分组列表 /// public IList OrderCostDetailGroupList { get; set; } /// /// 代发信息 /// public OrderDropShipping OrderDropShipping { get; set; } /// /// 订单状态 /// public OrderState OrderState { get => orderState; set { Set(ref orderState, value); } } public string WaybillNo { get => waybillNo; set { Set(ref waybillNo, value); } } public void ConvertOrderCostDetailToGroup() { if (OrderCostDetailList == null || OrderCostDetailList.Count() == 0) return; foreach (var detail in OrderCostDetailList) { var group = OrderCostDetailGroupList.FirstOrDefault(g => g.SkuId == detail.SkuId); if (group == null) { group = new OrderCostDetailGroup() { SkuId = detail.SkuId }; OrderCostDetailGroupList.Add(group); } group.Items.Add(detail); } } } public class OrderList { public int Count { get; set; } public IList Items { get; set; } } }