private void btnDownloadOrder_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var selectFlags = this.GetSelectedOrderFlags();
                var payType     = this.cbbPopPayTypes.GetSelectedEnum <PopPayType>();

                if (payType == PopPayType.None)
                {
                    MessageBox.Show("选择支付类型");
                    return;
                }

                var downloadOrders = OrderDownloadWindow.DownloadOrder(payType, this.cbbShippers.Text.Trim());
                if (downloadOrders == null || downloadOrders.Count < 1)
                {
                    this.printOrderPages.Clear();
                    return;
                }
                //过滤需要打印的订单
                Order[] orders = downloadOrders.Where(obj => obj.State == OrderState.PAYED && selectFlags.Contains(obj.PopFlag)).ToArray();
                if (this.dpEnd.Value != null)
                {
                    orders = orders.Where(obj => obj.PopPayTime < this.dpEnd.Value.Value).ToArray();
                }
                this.GenTab(orders);
            }
            catch (Exception ex)
            {
                MessageBox.Show("下载订单出错:" + ex.Message + ex.GetType().FullName);
                MessageBox.Show(ex.StackTrace);
            }
        }
 private void btnRefresh_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         this.orders.Clear();
         var showShops      = ServiceContainer.GetService <ShopService>().GetByAll().Datas.Where(obj => obj.Enabled && obj.AppEnabled).ToList();
         var showShopIds    = showShops.Select(obj => obj.Id).ToArray();
         var downloadOrders = OrderDownloadWindow.DownloadOrder(PopPayType.ONLINE, "");
         if (downloadOrders == null || downloadOrders.Count < 1)
         {
             return;
         }
         var orders = downloadOrders.Where(obj => string.IsNullOrWhiteSpace(obj.PopOrderId) == false && showShopIds.Contains(obj.ShopId)).Select(obj => new OrderViewModel(obj)).OrderBy(obj => obj.Source.PopPayTime).ToArray();
         if (orders.Length < 1)
         {
             return;
         }
         //分析
         foreach (var order in orders)
         {
             var time  = DateTime.Now.Subtract(order.Source.PopPayTime).TotalHours;
             var sTime = showShops.FirstOrDefault(obj => obj.Id == order.Source.ShopId).ShippingHours;
             if (time >= sTime)
             {
                 order.Background = Brushes.Red;
                 order.IsChecked  = true;
             }
             else if (time - sTime >= -1)
             {
                 order.Background = Brushes.Yellow;
                 order.IsChecked  = true;
             }
             this.orders.Add(order);
         }
         this.dgvOrders.ItemsSource = this.orders;
         this.tbTotal.Text          = "当前共 : " + orders.Length + " 条记录";
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace);
     }
 }
        /// <summary>
        /// Handles the Click event of the btnRefresh control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void btnRefresh_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var os      = OrderDownloadWindow.DownloadOrder(PopPayType.ONLINE, "");
                var orders1 = os.Where(obj => obj.State == OrderState.PAYED).ToArray();
                if (this.chkIncludeDis.IsChecked == false)
                {
                    orders1 = os.Where(obj => string.IsNullOrWhiteSpace(obj.DeliveryCompany)).ToArray();
                }
                var orders = orders1.Select(obj => new OrderViewModel(obj)).ToArray();
                if (orders.Length < 1)
                {
                    this.dgvOrders.ItemsSource = null;
                    this.orders.Clear();
                    MessageBox.Show("没有找到需要检查地址的订单");
                    return;
                }

                //分析
                foreach (var order in orders)
                {
                    //检查地址中是否含村
                    if (order.Source.ReceiverAddress.Contains('村'))
                    {
                        order.Background = Brushes.LightBlue;
                    }

                    //读取本地历史订单
                    var localHistoryOrders = ServiceContainer.GetService <OrderService>().GetOrdersByInfoIdNotEqual(order.Source.PopBuyerId, order.Source.ReceiverPhone, order.Source.ReceiverMobile, order.Source.ReceiverAddress, order.Source.Id);
                    order.HistoryOrders.AddRange(localHistoryOrders.Datas.Where(obj => orders.Any(ov => ov.Source.Id == obj.Id) == false).Select(obj => new OrderViewModel(obj)).ToList());
                }
                this.orders.Clear();
                this.orders.AddRange(orders);
                this.dgvOrders.ItemsSource = orders;
                this.UpdateSum();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace);
            }
        }