private void ConfirmPurchaseOrderCollectionExecute(object parameter) { string message = "是否确认订单"; string detailMessage = "请检查进货订单中的每一个条目是否正确,确认订单后将无法修改"; PromptWindow prompt = new PromptWindow(message, detailMessage); bool? IsConfirmed = prompt.ShowDialog(); if (IsConfirmed == true) { DateTime CurrentTime = DateTime.Now; PurchaseOrderCollectionViewModel.PurchaseOrderCollection.PurchaseTime = CurrentTime; foreach (var purchaseorderviewmodel in PurchaseOrderCollectionViewModel.PurchaseOrderViewModels) { purchaseorderviewmodel.PurchaseOrder.PurchaseTime = CurrentTime; CMContext.PurchaseOrder.Add(purchaseorderviewmodel.PurchaseOrder); BlockViewModel blockViewModel = purchaseorderviewmodel.BlockViewModel; IEnumerable <CargoCollectionViewModel> cc = blockViewModel.CargoCollectionViewModels.Where <CargoCollectionViewModel>(item => item.CargoCollection.PreciseCargoName == purchaseorderviewmodel.PurchaseOrder.PreciseCargoName); if (cc.Count() == 0) { CargoCollectionViewModel c = new CargoCollectionViewModel(CMContext, purchaseorderviewmodel) { BlockViewModel = blockViewModel, CargoCollectionViewModels = CargoCollectionViewModels }; CargoCollectionViewModels.Add(c); blockViewModel.CargoCollectionViewModels.Add(c); CMContext.CargoCollection.Add(c.CargoCollection); PurchasePrizeDic p1 = new PurchasePrizeDic(purchaseorderviewmodel.PurchaseOrder) { UnitPurchasePrize = -1 }; PurchasePrizeDic p2 = new PurchasePrizeDic(purchaseorderviewmodel.PurchaseOrder); CMContext.PurchasePrizeDic.Add(p1); CMContext.PurchasePrizeDic.Add(p2); c.SelectedPurchasePrizeDic = p1; } else { CargoCollectionViewModel c = cc.First(); c.CargoCollection.Amount += purchaseorderviewmodel.PurchaseOrder.Amount; c.CargoCollection.PurchasePrizeDics[0].Amount = c.CargoCollection.Amount; IEnumerable <PurchasePrizeDic> pp = c.CargoCollection.PurchasePrizeDics.Where <PurchasePrizeDic>(item => item.UnitPurchasePrize == purchaseorderviewmodel.PurchaseOrder.UnitPurchasePrize); if (pp.Count() == 0) { PurchasePrizeDic p = new PurchasePrizeDic(purchaseorderviewmodel.PurchaseOrder); CMContext.PurchasePrizeDic.Add(p); } else { pp.First().Amount += purchaseorderviewmodel.PurchaseOrder.Amount; } } } CMContext.PurchaseOrderCollection.Add(PurchaseOrderCollectionViewModel.PurchaseOrderCollection); PurchaseOrderCollectionViewModels.Add(PurchaseOrderCollectionViewModel); CMContext.SaveChanges(); PurchaseOrderCollectionViewModel = null; OutPurchaseOrderButtonIsEnabled = false; } }
public CargoCollectionViewModel(CargoManagementContext cmContext) { CMContext = cmContext; SelectedPurchasePrizeDic = new PurchasePrizeDic(); ShowDetailCommand = new DelegateCommand() { ExecuteAction = new Action <object>(ShowDetailExecute) }; SellCommand = new DelegateCommand() { ExecuteAction = new Action <object>(AddSellOrderExecute), CanExecuteFunc = new Func <object, bool>(AddSellOrderCanExecute) }; }
public CargoCollectionViewModel() { SelectedPurchasePrizeDic = new PurchasePrizeDic(); ShowDetailCommand = new DelegateCommand() { ExecuteAction = new Action <object>(ShowDetailExecute) }; SellCommand = new DelegateCommand() { ExecuteAction = new Action <object>(AddSellOrderExecute) }; DeleteCargoCollectionCommand = new DelegateCommand() { ExecuteAction = new Action <object>(DeleteCargoCollectionExecute), CanExecuteFunc = new Func <object, bool>(AddSellOrderCanExecute) }; }