private void OrderCreateData(Alading.Entity.TradeOrder createOrder, DataRow row, string customTid) { Alading.Entity.Item item = ItemService.GetItem(p => p.outer_id == row["OuterID"].ToString()).FirstOrDefault(); createOrder.CustomTid = customTid; createOrder.iid = string.Empty; createOrder.sku_id = item == null ? string.Empty : item.iid; createOrder.TradeOrderCode = Guid.NewGuid().ToString(); createOrder.oid = createOrder.TradeOrderCode; createOrder.outer_sku_id = string.Empty; createOrder.outer_iid = string.Empty; createOrder.sku_properties_name = row["SkuProps_Str"].ToString(); createOrder.price = double.Parse(row["price"].ToString()); createOrder.total_fee = double.Parse(row["orderTotalFee"].ToString()); createOrder.discount_fee = 0.0;//淘宝系统优惠价 为 0. 0 createOrder.adjust_fee = 0 - double.Parse(row["orderTotalFee"].ToString()) * (1 - double.Parse(txtDiscountRate.Text)); createOrder.payment = double.Parse(row["orderTotalFee"].ToString()) * double.Parse(txtDiscountRate.Text); createOrder.item_meal_name = string.Empty; createOrder.num = int.Parse(row["num"].ToString()); createOrder.title = row["Name"].ToString(); createOrder.pic_path = string.Empty; createOrder.seller_nick = cmbSeller.SelectedText; createOrder.buyer_nick = cmbConsumerName.SelectedText; createOrder.created = dateCreateTrade.DateTime; createOrder.refund_status = Alading.Core.Enum.RefundStatus.NO_REFUND; createOrder.status = TradeEnum.WAIT_SELLER_SEND_GOODS; createOrder.snapshot_url = string.Empty; createOrder.snapshot = string.Empty; createOrder.timeout_action_time = DateTime.MinValue; createOrder.OrderType = Alading.Core.Enum.emumOrderType.SellGoods;//系统配置订单类型 createOrder.type = string.Empty; createOrder.seller_type = cmbSeller.EditValue.ToString(); createOrder.HouseCode = string.Empty; createOrder.LayoutCode = string.Empty; }
public ReturnType Update_TradeOrder(Alading.Entity.Trade trade, List <TradeOrder> orderList, List <Trade> tradeList) { try { using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString())) { Alading.Entity.Trade TradeDest = new Alading.Entity.Trade(); //交易赋值 TradeCopydata(TradeDest, trade); /*添加合并后的交易*/ alading.AddToTrade(TradeDest); /*修改子交易*/ foreach (Alading.Entity.Trade tradeObj in tradeList) { Alading.Entity.Trade tradeObject = alading.Trade.Where(q => q.CustomTid == tradeObj.CustomTid).FirstOrDefault(); TradeCopydata(tradeObject, tradeObj); } /*订单副本添加到数据库*/ foreach (TradeOrder order in orderList) { Alading.Entity.TradeOrder TradeOrderDes = new Alading.Entity.TradeOrder(); copyTradeOrder(TradeOrderDes, order); alading.AddToTradeOrder(TradeOrderDes); } alading.SaveChanges(); return(ReturnType.Success); } } catch (System.Exception ex) { return(ReturnType.OthersError); } }
/// 根据界面内容来提交交易,订单数据 private void SummitTradeAndOrders() { Alading.Entity.Trade createTrade = new Alading.Entity.Trade(); TradeCreateData(createTrade); foreach (DataRow row in _dTbRecord.Rows) { Alading.Entity.TradeOrder createOrder = new Alading.Entity.TradeOrder(); OrderCreateData(createOrder, row, createTrade.CustomTid); TradeOrderService.AddTradeOrder(createOrder); } TradeService.AddTrade(createTrade); }
/// <summary> /// 合并还原成一个交易 /// </summary> private void ConbineTradeFlg() { #region 交易合并 还原成一个交易 if (DialogResult.Cancel == XtraMessageBox.Show(Alading.Properties.Resources.TidNotSame, Alading.Properties.Resources.Imformation, MessageBoxButtons.OKCancel, MessageBoxIcon.Information)) { return; } int OrdeFlg = 0; string customStr = customTidList[0]; string customParent = null; string customChild = null; List <Alading.Entity.TradeOrder> childTradeOrderList = new List <Alading.Entity.TradeOrder>(); Alading.Entity.TradeOrder order = new Alading.Entity.TradeOrder(); /*找出父交易的customtid 与 子交易的customtid*/ foreach (string str in customTidList) { if (str.Length > customStr.Length) { customParent = customStr; customChild = str; }/*if*/ else { customParent = str; customChild = customStr; } /*else*/ } /*foreach*/ /*将父交易的订单列表找出*/ parentTradeOrderList = TradeOrderService.GetTradeOrder(q => q.CustomTid == customParent); childTradeOrderList = TradeOrderService.GetTradeOrder(q => q.CustomTid == customChild); for (int i = 0; i < parentTradeOrderList.Count; i++) { /*找到相应的子订单*/ order = childTradeOrderList.Where(q => q.oid == parentTradeOrderList[i].oid).FirstOrDefault(); if (order != null) { /*数量合并*/ parentTradeOrderList[i].num += order.num; /*总费合并*/ parentTradeOrderList[i].total_fee = parentTradeOrderList[i].price * parentTradeOrderList[i].num; /*应付金额合并*/ parentTradeOrderList[i].payment = parentTradeOrderList[i].total_fee + parentTradeOrderList[i].adjust_fee + parentTradeOrderList[i].discount_fee; }//if childTradeOrderList.Remove(order); }//fro /*子订单列表中剩余的订单 全部加到父订单列表中*/ if (childTradeOrderList.Count > 0) { parentTradeOrderList.AddRange(childTradeOrderList); } /*修改customtid*/ for (int i = 0; i < parentTradeOrderList.Count; i++) { parentTradeOrderList[i].CustomTid = customParent; } trade = TradeService.GetTrade(q => q.CustomTid == customParent).FirstOrDefault(); if (trade == null) { return; } /*trade的总费*/ trade.total_fee = parentTradeOrderList.Sum(q => q.total_fee); /*得到trade总的应付金额*/ trade.payment = parentTradeOrderList.Sum(q => q.payment) + trade.post_fee; /*修改状态*/ trade.IsSplited = false; /*显示数据*/ LoadTradeOrder(gcCombineTrade, gvCombineOrder, null, parentTradeOrderList); LoadTextEdit(trade); XtraMessageBox.Show(Alading.Properties.Resources.ConbineSuccess, Alading.Properties.Resources.Imformation); #endregion }