コード例 #1
0
        protected override void Handler()
        {
            if (_order == null)
            {
                throw new Exception("带创建的订单为空,您必须确保已经调用了Initialize方法且传入的Order不为空");
            }

            using (IOrderDao dao = daoFactory.Create <IOrderDao>())
            {
                dao.CreateOrder(_order);
            }
        }
コード例 #2
0
 public void CreateOrder(Order order)
 {
     try
     {
         _daoManager.OpenConnection();
         _orderDao.CreateOrder(order);
     }
     catch (Exception exception)
     {
         LogHelper.GetInstance().Error(string.Format("[CreateOrder]参数:order_{0}", JsonConvert.SerializeObject(order)), exception);
     }
     finally
     {
         _daoManager.CloseConnection();
     }
 }
        public async Task <Order> CreateOrder(Order order)
        {
            await _orderDao.CreateOrder(order);

            // create OrderCreatedEvent
            var @event = new OrderCreatedEvent
                         (
                id: Guid.NewGuid(),
                timeStamp: DateTime.Now,
                orderId: order.OrderId,
                customerId: order.CustomerId,
                totalCredit: order.TotalCredit
                         );

            // publish event
            _publisher.PublishOrderCreatedEvent(@event);

            return(order);
        }
コード例 #4
0
 public bool CreateOrder(Order o)
 {
     return(orderDao.CreateOrder(o));
 }
コード例 #5
0
        public Int32 CreateSalesOrder(SalesOrder salesOrder)
        {
            Int32 tranSequence = 0;

            _daoManager.BeginTransaction();
            try
            {
                //日结号
                string dailyStatementNo = _dailyStatementDao.GetCurrentDailyStatementNo();
                if (!string.IsNullOrEmpty(dailyStatementNo))
                {
                    Order order = salesOrder.order;
                    order.DailyStatementNo = dailyStatementNo;
                    //分单号
                    Int32 curSubOrderNo = _orderDao.GetCurrentSubOrderNo(order.DeskName);
                    if (curSubOrderNo > 0)
                    {
                        curSubOrderNo++;
                    }
                    else
                    {
                        curSubOrderNo = 1;
                    }
                    order.SubOrderNo = curSubOrderNo;
                    //流水号
                    order.TranSequence = tranSequence = _sysDictionary.GetCurrentTranSequence();
                    string orderNo = _orderDao.CreateOrder(order);
                    order.OrderNo = orderNo;
                    //菜单品项序号
                    int seqNumber = _orderDetailsDao.GetSequenceNum(order.OrderID);
                    foreach (OrderDetails item in salesOrder.orderDetailsList)
                    {
                        item.DailyStatementNo = dailyStatementNo;
                        item.OrderBy          = seqNumber;
                        _orderDetailsDao.CreateOrderDetails(item);
                        seqNumber++;
                    }
                    //折扣信息
                    if (salesOrder.orderDiscountList != null && salesOrder.orderDiscountList.Count > 0)
                    {
                        foreach (OrderDiscount item in salesOrder.orderDiscountList)
                        {
                            item.DailyStatementNo = dailyStatementNo;
                            _orderDiscountDao.CreateOrderDiscount(item);
                        }
                    }
                    //添加打印任务
                    SystemConfig systemConfig = _sysConfigDao.GetSystemConfigInfo();
                    if (systemConfig.IncludeKitchenPrint)
                    {
                        IList <PrintTask> printTaskList = PrintTaskService.GetInstance().GetPrintTaskList(salesOrder, systemConfig.PrintStyle, systemConfig.FollowStyle, systemConfig.PrintType, 1, string.Empty);
                        foreach (PrintTask printTask in printTaskList)
                        {
                            _printTaskDao.InsertPrintTask(printTask);
                        }
                    }
                }
                _daoManager.CommitTransaction();
            }
            catch (Exception exception)
            {
                LogHelper.GetInstance().Error(string.Format("[CreateSalesOrder]参数:salesOrder_{0}", JsonConvert.SerializeObject(salesOrder)), exception);
                tranSequence = 0;
                _daoManager.RollBackTransaction();
            }
            return(tranSequence);
        }