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))); } }