コード例 #1
0
        public void Sync()
        {
            var msgs  = MessageSync.SyncByOrderNO(this.OrderNo, this.Account);
            var msgs1 = msgs.Select(m => new OrderMessage {
                ID       = m.ID,
                Content  = m.Content,
                OrderNO  = this.OrderNo,
                Sender   = m.Sender,
                CreateOn = m.CreateOn
            }).ToList();

            this.Msgs = this.DealMessage(msgs1);

            this.NotifyOfPropertyChange("Msgs");

            if (this.Msgs != null && this.Msgs.Count > 0)
            {
                using (var uw = Global.MefContainer.GetExportedValue <IUnitOfWork>()) {
                    var rep = uw.GetRepository <OrderMessage>();
                    foreach (var m in msgs1)
                    {
                        rep.AddOrUpdate(m);
                    }
                    uw.Commit();
                }
            }
        }
コード例 #2
0
        //private List<OrderMessageEx> DealMessage(IEnumerable<OrderMessage> msgs) {
        //    if (msgs == null || msgs.Count() == 0)
        //        return new List<OrderMessageEx>();

        //    var mes = msgs.Select(m => {
        //        var me = new OrderMessageEx();
        //        //DynamicCopy.CopyProperties(m, me);
        //        DynamicCopy.CopyTo(m, me);
        //        return me;
        //    }).ToList();

        //    var f = mes.First().Sender;
        //    mes.ForEach(m => {
        //        m.Left = m.Sender.Equals(f);
        //    });

        //    return mes;
        //}

        public async Task Sync()
        {
            this.IsBusy   = true;
            this.BusyText = "正在同步订单留言...";
            this.NotifyOfPropertyChange(() => this.IsBusy);
            this.NotifyOfPropertyChange(() => this.BusyText);

            DispatcherHelper.DoEvents();

            var msgs = await MessageSync.SyncByOrderNO(this.OrderNO, this.Account);

            var msgs1 = msgs.Select(m => new OrderMessage {
                ID       = m.ID,
                Content  = m.Content,
                OrderNO  = this.OrderNO,
                Sender   = m.Sender,
                CreateOn = m.CreateOn
            }).ToList();

            //this.Msgs = this.DealMessage(msgs1);

            this.NotifyOfPropertyChange("Msgs");

            //if (this.Msgs != null && this.Msgs.Count > 0)
            if (msgs1 != null && msgs1.Count > 0)
            {
                this.Order.Messages = msgs1;
                this.Build(this.Order);
                this.OrderBiz.SaveOrderMessage(msgs1);
            }
            this.IsBusy = false;
            this.NotifyOfPropertyChange(() => this.IsBusy);
            this.NotifyOfPropertyChange(() => this.BusyText);
        }
コード例 #3
0
        private async Task Sync(ReminderOrder order)
        {
            var msgs = await MessageSync.SyncByOrderNO(order.OrderNO, order.Account);

            var msgs1 = msgs.Select(m => new OrderMessage {
                ID       = m.ID,
                Content  = m.Content,
                OrderNO  = order.OrderNO,
                Sender   = m.Sender,
                CreateOn = m.CreateOn
            }).ToList();

            this.NotifyOfPropertyChange("Msgs");
            if (msgs1 != null && msgs1.Count > 0)
            {
                order.Messages = msgs1;
                this.OrderBiz.SaveOrderMessage(msgs1);
            }
        }