Example #1
0
        /// 向交易添加赠品
        private void barGiftAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            int totalRowCount = gvGiftList.RowCount;                   //循环获取需要提交的Trade
            List <TradeOrder>     orderList = new List <TradeOrder>(); //批量提交数据
            View_StockItemProduct giftItem  = null;

            WaitDialogForm waitFrm = new WaitDialogForm(Alading.Taobao.Constants.OPERATE_DB_DATA);

            for (int runner = 0; runner < totalRowCount; runner++)
            {
                giftItem = gvGiftList.GetRow(runner) as Alading.Entity.View_StockItemProduct;

                if (Convert.ToBoolean(giftItem.IsSelected))
                {
                    int existFlag = (gvGiftOrders.DataSource as List <TradeOrder>).Count(p => p.outer_sku_id == giftItem.SkuOuterID);
                    if (existFlag != 0)
                    {
                        XtraMessageBox.Show("交易中已经含有赠品:" + giftItem.Name);
                    }
                    else
                    {
                        TradeOrder createOrder = new TradeOrder();
                        CreateOrderRow(createOrder, giftItem);
                        orderList.Add(createOrder);
                    }
                }
            }
            TradeOrderService.AddTradeOrder(orderList);
            waitFrm.Close();
            InitTradeList();
            XtraMessageBox.Show("添加赠品成功!");
        }
Example #2
0
        //绑定数据到下方界面 根据选中选中选项卡取得数据
        private void SetTradeDetailMessage(Alading.Entity.Trade trade)
        {
            if (trade == null)
            {
                return;
            }

            switch (tabsDetailMessage.SelectedTabPageIndex)
            {
            case 0:
                LoadPrintPreview(trade);
                break;

            case 1:
                break;

            case 2:
                //调用存储过程获得数据
                gcOrdersDetail.DataSource = TradeOrderService.GetView_TradeDetailItemsDataSet(trade.CustomTid).Tables[0];
                break;

            case 3:
                detailGCFlowMessage.DataSource = TradeInfoService.GetTradeInfo(p => p.CustomTid == trade.CustomTid);
                break;
            }
        }
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
        //确认订单修改
        private void barConfirmNumChange_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            int        totalRowCount = gvGiftOrders.RowCount;//循环获取需要提交的Trade
            TradeOrder orderItem     = null;

            WaitDialogForm waitFrm = new WaitDialogForm(Alading.Taobao.Constants.OPERATE_DB_DATA);

            for (int runner = 0; runner < totalRowCount; runner++)
            {
                orderItem = gvGiftOrders.GetRow(runner) as Alading.Entity.TradeOrder;
                TradeOrderService.UpdateTradeOrder(orderItem);
            }
            waitFrm.Close();
            InitTradeList();
            XtraMessageBox.Show("保存修改成功!");
        }
Example #5
0
        //保存修改
        private void BtnModify_Click(object sender, EventArgs e)
        {
            DialogResult result = DialogResult.OK;

            if (!Alading.Utils.SystemHelper.CompareTimeStamp(_orderTimeStamp as byte[], _tradeStock.OrderTimeStamp))
            {
                result = XtraMessageBox.Show("当前订单已经被修改,继续修改(OK)/查看流程信息(Canel)", "订单修改", MessageBoxButtons.OKCancel);
            }
            if (result == DialogResult.OK)
            {
                string     skuProsName = cmbProperties.Text.ToString();//取得选中sku_pros
                TradeOrder order       = TradeOrderService.GetTradeOrder(p => p.TradeOrderCode == _tradeStock.TradeOrderCode).FirstOrDefault();

                if (order.sku_properties_name != skuProsName) //的的确确修改订单信息才提交笔生成流程信息
                {
                    //创建一条交易信息
                    string flowMeassge = "商品\"" + _tradeStock.title + "\"销售属性修改:" + order.sku_properties_name + "-->" + skuProsName;
                    SystemHelper.CreateFlowMessage(_tradeStock.CustomTid, "订单信息修改", flowMeassge, "订单管理");
                    order.sku_properties_name = skuProsName;

                    #region  保存修改信息到数据库和并同步到淘宝
                    WaitDialogForm wdf = new WaitDialogForm(Alading.Taobao.Constants.OPERATE_TBDB_DATA);
                    try
                    {
                        UpdateTaobaoOrder();
                        TradeOrderService.UpdateTradeOrder(order);
                        wdf.Close();
                        XtraMessageBox.Show("修改订单信息成功!");
                    }
                    catch (Exception ex)
                    {
                        wdf.Close();
                        XtraMessageBox.Show("将修改信息保存到淘宝失败,修改无效!原因:" + ex.Message);
                    }
                    #endregion
                }
                else
                {
                    result = DialogResult.Ignore; //实际什么都没做,不需要更新数据库时间戳
                }
            }
            //如果在主界面接受到的结果为Dialog.Canel,则跳转流程信息页面。如果是Dialog.OK则修改界面信息,Dialog.Ignore不做
            this.DialogResult = result;
            this.Close();
        }
Example #6
0
        //绑定数据到下方界面 根据选中选中选项卡取得数据
        private void SetTradeDetailMessage(Alading.Entity.Trade trade)
        {
            if (trade == null)
            {
                gcOrdersDetail.DataSource      = null;
                detailGCFlowMessage.DataSource = null;
                return;
            }

            switch (tabsDetail.SelectedTabPageIndex)
            {
            case 0:
                gcOrdersDetail.DataSource = TradeOrderService.GetView_TradeDetailItemsDataSet(_focusedTrade.CustomTid).Tables[0];
                break;

            case 1:
                detailGCFlowMessage.DataSource = TradeInfoService.GetTradeInfo(p => p.CustomTid == trade.CustomTid);
                break;
            }
        }
Example #7
0
        //删除选中交易
        private void barDeleteGifts_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            int           totalRowCount   = gvGiftOrders.RowCount; //循环获取需要提交的Trade
            TradeOrder    orderItem       = null;
            List <string> removeOrderList = new List <string>();   //批量删除数据

            WaitDialogForm waitFrm = new WaitDialogForm(Alading.Taobao.Constants.OPERATE_DB_DATA);

            for (int runner = 0; runner < totalRowCount; runner++)
            {
                orderItem = gvGiftOrders.GetRow(runner) as Alading.Entity.TradeOrder;

                if (Convert.ToBoolean(orderItem.IsSelected))
                {
                    removeOrderList.Add(orderItem.TradeOrderCode);
                }
            }
            waitFrm.Close();
            TradeOrderService.RemoveTradeOrder(removeOrderList);
            InitTradeList();
            XtraMessageBox.Show("删除赠品成功!");
        }
Example #8
0
        /// 按照每个Tab快的功能不同而设定其GridControl的值
        private void InitSelectTab()
        {
            WaitDialogForm wdf       = new WaitDialogForm(Constants.WAIT_LOAD_DATA);
            DataSet        resultSet = null;

            detailTicketMessage.PageVisible = false;
            //根据状态的不同  从而设置不同的参数来绑定
            switch (tradeTabMain.SelectedTabPageIndex)
            {
            case 0:                                            //所有交易
                resultSet = TradeOrderService.GetView_TradeStockDataSet("%", "%", DateTime.Now.AddYears(-1), DateTime.Now);
                detailCombineTradeMessage.PageVisible = false; /*隐藏合并单信息*/
                detailAessemble.PageVisible           = false; /*隐藏商品信息*/
                break;

            case 1:                                  //未付款
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.HasNotSummit, TradeEnum.WAIT_BUYER_PAY, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                detailAessemble.PageVisible = false; /*隐藏商品信息*/
                break;

            case 2:                                            //待确认
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.HasNotSummit, TradeEnum.WAIT_SELLER_SEND_GOODS, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                detailCombineTradeMessage.PageVisible = false; /*隐藏合并单信息*/
                detailAessemble.PageVisible           = false; /*隐藏商品信息*/
                break;

            case 3:                                            //待打印
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.SummitNotPrint, TradeEnum.WAIT_SELLER_SEND_GOODS, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                detailCombineTradeMessage.PageVisible = true;  /*显示合并单信息*/
                detailAessemble.PageVisible           = false; /*隐藏商品信息*/
                break;

            case 4:    //已打印
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.Printed, TradeEnum.WAIT_SELLER_SEND_GOODS, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                break;

            case 5:    //已打印待配货
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.WaitAssort, TradeEnum.WAIT_SELLER_SEND_GOODS, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                break;

            case 6:    //待发送
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.AssortedNotSent, TradeEnum.WAIT_SELLER_SEND_GOODS, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                break;

            case 7:    //已发送
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.SentNotRate, TradeEnum.WAIT_BUYER_CONFIRM_GOODS, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                break;

            case 8:    //待评价
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.SentNotRate, TradeEnum.WAIT_BUYER_CONFIRM_GOODS, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                break;

            case 9:    //已完成
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.TradeFinish, TradeEnum.TRADE_FINISHED, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                break;

            case 10:    //退货
                resultSet = TradeOrderService.GetView_TradeStockDataSet(LocalTradeStatus.REFUND_STATUS, TradeEnum.ALL_CLOSED, DateTime.Now.AddYears(-1), DateTime.Now.AddDays(1));
                break;

            case 11:    //历史
                resultSet = TradeOrderService.GetView_TradeStockDataSet("%", "%", DateTime.Now.AddYears(-1), DateTime.Now.AddDays(-15));
                break;

            default:
                break;
            }
            LoadTrade(resultSet);
            //界面出示化时默认绑定第一条数据
            _currentTradeRow = GetCurrentTradeGV().GetDataRow(0);
            if (_currentTradeRow != null)
            {
                SetTradeDetailMessages(_currentTradeRow);
            }
            wdf.Close();
        }
Example #9
0
 //刷新交易赠品列表
 private void InitTradeList()
 {
     gcGiftOrders.DataSource = TradeOrderService.GetTradeOrder(p => p.CustomTid == _customTid && p.OrderType == Alading.Core.Enum.emumOrderType.GiftGoods);
     gcGiftOrders.ForceInitialize();
 }
Example #10
0
        /// <summary>
        /// 交易合并成一个交易
        /// </summary>
        private void ConbinePrintFlg()
        {
            /*再次确认收货人姓名、地址,省市区是否一直等信息*/
            if (DialogResult.Cancel == XtraMessageBox.Show(Alading.Properties.Resources.CheckTidData,
                                                           Alading.Properties.Resources.Imformation, MessageBoxButtons.OKCancel, MessageBoxIcon.Information))
            {
                combine.Enabled = true;
                return;
            }

            foreach (string custom in customTidList)
            {
                tradeList.AddRange(TradeService.GetTrade(q => q.CustomTid == custom));
                parentTradeOrderList.AddRange(TradeOrderService.GetTradeOrder(q => q.CustomTid == custom));
            }/*foreach*/

            //通过outer_id  GroupBy
            List <IGrouping <string, Alading.Entity.TradeOrder> > groupOrderList = new List <IGrouping <string, Alading.Entity.TradeOrder> >();

            groupOrderList = parentTradeOrderList.GroupBy(q => q.iid).ToList();

            //生成combine_code
            string combine_code = Guid.NewGuid().ToString();

            #region /*查找相同的订单 并把相同的订单合单*/
            foreach (IGrouping <string, Alading.Entity.TradeOrder> orderList in groupOrderList)
            {
                //在对sku_properties_name分类
                List <IGrouping <string, Alading.Entity.TradeOrder> > groupList = orderList.GroupBy(q => q.sku_properties_name).ToList();

                /*存在至少有两个相同的订单*/
                if (groupList.Count() < orderList.Count())
                {
                    foreach (IGrouping <string, Alading.Entity.TradeOrder> listOrder in groupList)
                    {
                        /*找到了相同的订单*/
                        if (listOrder.Count() > 1)
                        {
                            /*订单合并处理*/
                            TradeOrderStock tradeOrderStock = new TradeOrderStock();
                            int             num             = 0;

                            foreach (Alading.Entity.TradeOrder order in listOrder)
                            {
                                tradeOrderStock.order = order;

                                //购买量汇总
                                num += order.num;

                                //adjust_fee汇总
                                tradeOrderStock.order.adjust_fee += order.adjust_fee;

                                //discount_fee汇总
                                tradeOrderStock.order.discount_fee += order.discount_fee;
                            }/*if*/

                            AddDetail(listOrder.First().TradeOrderCode, tradeOrderStock);
                            //num 汇总
                            tradeOrderStock.order.num = num;

                            //total_fee汇总
                            tradeOrderStock.order.total_fee = tradeOrderStock.order.num * tradeOrderStock.order.price + tradeOrderStock.order.adjust_fee;

                            //payment汇总
                            tradeOrderStock.order.payment = tradeOrderStock.order.discount_fee + tradeOrderStock.order.total_fee;

                            //customtid赋值
                            tradeOrderStock.order.CustomTid = combine_code;

                            //添加订单
                            tradeOrderList.Add(tradeOrderStock);
                        }    /*if*/
                        else /*没有和其他订单相同属性的单个订单*/
                        {
                            TradeOrderStock tradeOrderStock = new TradeOrderStock();
                            tradeOrderStock.order = listOrder.First();
                            //添加宝贝名等信息
                            AddDetail(listOrder.First().TradeOrderCode, tradeOrderStock);
                            //CustomTid
                            tradeOrderStock.order.CustomTid = combine_code;
                            tradeOrderList.Add(tradeOrderStock);
                        }
                    } /*foreach*/
                }     /*if*/
                else
                {
                    //单个订单
                    foreach (Alading.Entity.TradeOrder order in orderList)
                    {
                        TradeOrderStock tradeOrderStock = new TradeOrderStock();
                        tradeOrderStock.order = order;

                        //添加宝贝名等信息
                        AddDetail(order.TradeOrderCode, tradeOrderStock);
                        //CustomTid
                        tradeOrderStock.order.CustomTid = combine_code;

                        //total_fee汇总
                        tradeOrderStock.order.total_fee = tradeOrderStock.order.num * tradeOrderStock.order.price + tradeOrderStock.order.adjust_fee;

                        //payment汇总
                        tradeOrderStock.order.payment = tradeOrderStock.order.discount_fee + tradeOrderStock.order.total_fee;
                        tradeOrderList.Add(tradeOrderStock);
                    }
                }
            }/*foreach*/
            #endregion

            //邮费
            double realPostFee = 0.0;
            double payment     = 0.0;
            double total_fee   = 0.0;
            /*修改子交易信息*/
            for (int i = 0; i < tradeList.Count; i++)
            {
                if (realPostFee < tradeList[i].post_fee)
                {
                    realPostFee = tradeList[i].post_fee;
                }

                //修改本地状态
                tradeList[i].LocalStatus = LocalTradeStatus.CombineTrade;
                //添加combinecode
                tradeList[i].CombineCode = combine_code;
            }/*foreach*/

            /*父交易*/
            FatherTrade = TradeService.GetTrade(q => q.CustomTid == customTidList[0]).FirstOrDefault();
            /*父订单(虚拟订单)*/
            /*修改父交易相关信息*/

            foreach (TradeOrderStock tradeOrderStock in tradeOrderList)
            {
                payment   += tradeOrderStock.order.payment;
                total_fee += tradeOrderStock.order.total_fee;
            }
            FatherTrade.payment     = payment + realPostFee;
            FatherTrade.total_fee   = total_fee;
            FatherTrade.post_fee    = realPostFee;
            FatherTrade.CombineCode = combine_code;
            FatherTrade.tid         = Guid.NewGuid().ToString();
            FatherTrade.IsCombined  = true;
            FatherTrade.IsSelected  = false;
            /*将combine_code赋给父交易的 CustomTid*/
            FatherTrade.CustomTid   = combine_code;
            FatherTrade.LocalStatus = LocalTradeStatus.HasNotSummit;
            /*显示数据*/
            LoadTradeOrder(gcCombineTrade, gvCombineOrder, tradeOrderList, null);
            LoadTextEdit(FatherTrade);
            XtraMessageBox.Show(Alading.Properties.Resources.ConbineSuccess, Alading.Properties.Resources.Imformation);
            //合并不能用
            combine.Enabled = false;
        }
Example #11
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
        }