private void DeleteExecute(object parameter) { string message = "是否删除卖货订单"; string detailMessage = "删除的卖货订单记录将无法恢复,请确认是否是删除该订单\n删除之前备份订单的信息以便错误删除后进行恢复"; PromptWindow prompt = new PromptWindow(message, detailMessage); bool? IsConfirmed = prompt.ShowDialog(); if (IsConfirmed == true) { SellOrderCollectionViewModels.Remove(this); CMContext.SellOrderCollection.Remove(SellOrderCollection); CMContext.SaveChanges(); } }
private void ConfirmSellOrderCollectionExecute(object parameter) { string message = "是否确认订单"; string detailMessage = "请检查卖货订单中的每一个条目是否正确,确认订单后将无法修改"; PromptWindow prompt = new PromptWindow(message, detailMessage); bool? IsConfirmed = prompt.ShowDialog(); if (IsConfirmed == true) { DateTime CurrentTime = DateTime.Now; SellOrderCollectionViewModel.SellOrderCollection.SellTime = CurrentTime; foreach (var sellorderviewmodel in SellOrderCollectionViewModel.SellOrderViewModels) { sellorderviewmodel.SellOrder.SellTime = CurrentTime; CMContext.SellOrder.Add(sellorderviewmodel.SellOrder); CargoCollectionViewModel cargoCollectionViewModel = sellorderviewmodel.CargoCollectionViewModel; if (cargoCollectionViewModel.CargoCollection.Amount == sellorderviewmodel.SellOrder.Amount) { CMContext.CargoCollection.Remove(cargoCollectionViewModel.CargoCollection); cargoCollectionViewModel.BlockViewModel.CargoCollectionViewModels.Remove(cargoCollectionViewModel); cargoCollectionViewModel.CargoCollectionViewModels.Remove(cargoCollectionViewModel); } else { int BufferAmount = sellorderviewmodel.SellOrder.Amount; cargoCollectionViewModel.CargoCollection.PurchasePrizeDics[0].Amount -= sellorderviewmodel.SellOrder.Amount; cargoCollectionViewModel.CargoCollection.Amount -= sellorderviewmodel.SellOrder.Amount; foreach (var dic in cargoCollectionViewModel.CargoCollection.PurchasePrizeDics) { if (dic.UnitPurchasePrize == -1) { continue; } else if (BufferAmount == 0) { break; } else if (dic.Amount == BufferAmount) { dic.Amount = 0; BufferAmount = 0; } else if (dic.Amount < BufferAmount) { BufferAmount -= dic.Amount; dic.Amount = 0; } else if (dic.Amount > BufferAmount) { dic.Amount -= BufferAmount; BufferAmount = 0; } } var bufferresult = cargoCollectionViewModel.CargoCollection.PurchasePrizeDics.Where <PurchasePrizeDic>(item => item.Amount == 0).ToList(); for (int i = 0; i < bufferresult.Count(); i++) { cargoCollectionViewModel.CargoCollection.PurchasePrizeDics.Remove(bufferresult[i]); } } } CMContext.SellOrderCollection.Add(SellOrderCollectionViewModel.SellOrderCollection); SellOrderCollectionViewModels.Add(SellOrderCollectionViewModel); CMContext.SaveChanges(); SellOrderCollectionViewModel = null; OutSellOrderButtonIsEnabled = false; } }