void miDeliveryCompanyChose_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                FrameworkElement fe  = sender as FrameworkElement;
                string           tag = fe.Tag == null ? "" : fe.Tag.ToString();
                if (string.IsNullOrWhiteSpace(tag))
                {
                    throw new Exception("没有Tag数据");
                }

                if (this.dgvOrders.SelectedCells.Count < 1)
                {
                    throw new Exception("没有选择数据");
                }

                var orders = this.dgvOrders.SelectedCells.Select(obj => obj.Item as OrderViewModel).Distinct();
                foreach (var order in orders)
                {
                    try
                    {
                        var o = ServiceContainer.GetService <OrderService>().GetById(order.Source.Id);
                        if (string.IsNullOrWhiteSpace(o.DeliveryNumber) == false)
                        {
                            throw new Exception("订单已经打印不允许修改:" + o.State);
                        }

                        order.Source.DeliveryCompany = tag;
                        order.DeliveryCompany        = tag;
                        ServiceContainer.GetService <OrderService>().Update(order.Source);
                        this.UpdateSum();
                        OrderDeliveryInfoChangedMessage m = new OrderDeliveryInfoChangedMessage
                        {
                            Time            = DateTime.Now,
                            DeliveryNumber  = "",
                            DeliveryCompany = tag,
                            OrderId         = order.Source.Id,
                            SenderId        = "",
                            SenderName      = "",
                            Targets         = new string[0],
                        };
                        MessageCenter.Instance.SendMessage(m);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "订单编号:" + order.Source.Id + "设置快递出错");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 private void UpdateOrderDeliveryInfoFromMessage(OrderDeliveryInfoChangedMessage message)
 {
     try
     {
         OrderViewModel order = this.orders.FirstOrDefault(obj => obj.Source.Id == message.OrderId);
         if (order == null)
         {
             return;
         }
         order.Source.DeliveryCompany = message.DeliveryCompany;
         order.Source.DeliveryNumber  = message.DeliveryNumber;
         order.DeliveryCompany        = message.DeliveryCompany;
         order.DeliveryNumber         = message.DeliveryNumber;
         this.UpdateSum();
     }
     catch
     { }
 }
        void Instance_MessageArrived(object sender, MessageArrviedEventArgs e)
        {
            if (e.Message == null)
            {
                return;
            }

            if (e.Message is OrderPopSellerCommentChangedMessage)
            {
                OrderPopSellerCommentChangedMessage m = e.Message as OrderPopSellerCommentChangedMessage;
                this.Dispatcher.BeginInvoke(new Action(() => this.UpdateOrderFromMessage(m)));
            }
            else if (e.Message is OrderDeliveryInfoChangedMessage)
            {
                OrderDeliveryInfoChangedMessage m = e.Message as OrderDeliveryInfoChangedMessage;
                this.Dispatcher.BeginInvoke(new Action(() => this.UpdateOrderDeliveryInfoFromMessage(m)));
            }
        }