Example #1
0
        private void UpdateOrderHistory()
        {
            long orderID = 0;

            if (this.entityService.OrderHistories.Any())
            {
                orderID = this.entityService.OrderHistories.Max(x => x.OrderID);
            }
            //OrderからOrderHistoryへレコードをmove
            foreach (var order in this.Orders)
            {
                orderID++;
                this.OrderHistories.Add(new OrderHistoryViewModel(OrderHistory.CreateOrderHistory(orderID,
                                                                                                  order.Order.OrderDate,
                                                                                                  order.Order.ReceiveCustID,
                                                                                                  order.Order.SendCustID,
                                                                                                  order.Order.ProductID)));
            }
            //ほんとはここでorderhistoryを並べ替えたい

            //最終発送を更新
            this.SendCustomerViewModel.Customer.LatestSend = DateTime.Now;

            //最終宛先を更新
            foreach (var order in this.Orders)
            {
                this.entityService.Customers.First(x => x.CustNo == order.Order.CustomerMasterReceive.CustNo)
                .LatestResceive = DateTime.Now;
            }

            // ClearだとCollectionChangedが起きないので一個一個消す
            for (var i = this.Orders.Count - 1; i >= 0; i--)
            {
                this.Orders.RemoveAt(i);
            }

            var arg = new CustomerListEventArgs()
            {
                CustomerViewModel = null
            };

            this.RaisePropertyChanged(() => this.SendCustomerViewModel);
            this.RaisePropertyChanged(() => this.OrderHistories);
            this.RaisePropertyChanged(() => this.Orders);
            this.OnSendCustomerChanged(this, arg);
            this.SaveChanges();
            this.UpdateCommands();
        }