Ejemplo n.º 1
0
        public bool OrderDeskOperate(DeskChange deskChange)
        {
            bool returnValue = false;

            _daoManager.BeginTransaction();
            try
            {
                SystemConfig systemConfig = _sysConfigDao.GetSystemConfigInfo();
                if (systemConfig.IncludeKitchenPrint)
                {
                    //添加打印任务
                    _printTaskDao.InsertDeskOperatePrint(deskChange);
                }
                // 转台
                if (deskChange.OrderID1st != Guid.Empty && deskChange.OrderID2nd == Guid.Empty)
                {
                    //分单号
                    Int32 curSubOrderNo = _orderDao.GetCurrentSubOrderNo(deskChange.DeskName);
                    if (curSubOrderNo > 0)
                    {
                        curSubOrderNo++;
                    }
                    else
                    {
                        curSubOrderNo = 1;
                    }
                    Order order = new Order();
                    order.OrderID    = deskChange.OrderID1st;
                    order.DeskName   = deskChange.DeskName;
                    order.SubOrderNo = curSubOrderNo;
                    returnValue      = _orderDao.UpdateOrderDeskName(order);
                }
                // 合并
                if (deskChange.OrderID1st != Guid.Empty && deskChange.OrderID2nd != Guid.Empty)
                {
                    returnValue = _orderDao.MergeSalesOrder(deskChange);
                }
                _daoManager.CommitTransaction();
            }
            catch (Exception exception)
            {
                LogHelper.GetInstance().Error(string.Format("[OrderDeskOperate]参数:deskChange_{0}", JsonConvert.SerializeObject(deskChange)), exception);
                _daoManager.RollBackTransaction();
                returnValue = false;
            }
            return(returnValue);
        }