Example #1
0
 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;
 }
Example #2
0
        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);
            }
        }
Example #3
0
 /// 根据界面内容来提交交易,订单数据
 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);
 }
Example #4
0
        /// <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
        }