コード例 #1
0
        public static MessageResult LockBatch(IUnitOfWork db,
                                              IBatchManager batchManager,
                                              long batchId,
                                              DateTime?when)
        {
            batchManager.LockBatch(db, batchId, when);

            return(MessageResult.Success());
        }
コード例 #2
0
        public void PurchaseForOverdue()
        {
            var when = _time.GetAppNowTime();
            var date = when.AddHours(-4).Date;

            using (var db = _dbFactory.GetRWDb())
            {
                var overdueOrderIds = GetOverdueOrderInfos(db, _time.GetAppNowTime()).Select(i => i.OrderId).ToList();

                _log.Info("Overdue orders count=" + overdueOrderIds.Count);

                if (overdueOrderIds.Count > 5) //NOTE: print only when a lot of overdue
                {
                    var orderIdList = overdueOrderIds;
                    var batchName   = date.ToString("MM/dd/yyyy") + " Overdue";

                    var batchId = _batchManager.CreateBatch(db,
                                                            BatchType.AutoBuy,
                                                            batchName,
                                                            orderIdList,
                                                            when,
                                                            null);

                    _batchManager.LockBatch(db,
                                            batchId,
                                            when);

                    var actionId = _actionService.AddAction(db,
                                                            SystemActionType.PrintBatch,
                                                            batchId.ToString(),
                                                            new PrintBatchInput()
                    {
                        BatchId   = batchId,
                        CompanyId = _companyId,
                        UserId    = null
                    },
                                                            null,
                                                            null);

                    _log.Info("PrintLabelsForBatch, add print action, id=" + actionId);
                }
            }
        }