예제 #1
0
        public OrderQueue(Session session, OrderCacheItem queueInfo)
        {
            _queueInfo = queueInfo;
            InitializeComponent();
            imglist.Images.Add(UiUtility.Get24PxImageFrom16PxImg(Properties.Resources.user_16));
            Gif.SetLoadingImage(pbAnimate);

            Icon = Properties.Resources.icon_warning;
            InitSession(session);

            LoadInfo();

            _worker = new QueueOrderWorker(session)
            {
                TourFlag = _queueInfo.tourFlag
            };
            _worker.QueueMessageChanged    += _worker_QueueMessageChanged;
            _worker.QueryOrderQueueFailed  += _worker_QueryOrderQueueFailed;
            _worker.QueryOrderQueueSuccess += _worker_QueryOrderQueueSuccess;

            Load += (s, e) =>
            {
                btnClose.Enabled = false;
                _worker.RunQueryOrderQueue();
            };
            FormClosing += (s, e) =>
            {
                e.Cancel = _worker != null;
            };
            btnClose.DialogResult = DialogResult.Cancel;
            btnCancelQueue.Click += BtnCancelQueue_Click;
            FormPlacementManager.Instance.Control(this);
        }
예제 #2
0
        /// <summary>
        /// _订单排队成功_
        /// ---
        ///
        ///
        /// </summary>
        /// <returns></returns>
        protected virtual async Task SubmitOrderSuccessAsync(bool async, string orderid)
        {
            if (async)
            {
                PreventCloseFlag = true;
                await QueueBeginAsync().ConfigureAwait(true);

                QueueOrderWorker.RunQueryOrderQueue();
            }
            else
            {
                PreventCloseFlag = false;
                //非异步模式,不需要排队
                await QueueSucceedAsync(orderid).ConfigureAwait(true);
            }
        }