private void OKButton_Click(object sender, RoutedEventArgs e) { var listOfDate = new ObservableCollection <TblPurchaseOrderDetailViewModel>(); foreach (var item in DgResults.SelectedItems) { listOfDate.Add(item as TblPurchaseOrderDetailViewModel); } foreach (var item in listOfDate.GroupBy(w => new { w.ItemId, w.FabricColor, w.Size, w.BatchNo, w.ItemType, w.Unit, w.IsAcc })) { var newrow = new TblPurchaseOrderDetailRequestModel() { BatchNo = item.Key.BatchNo, ColorPerRow = item.FirstOrDefault().ColorPerRow, Qty = item.Sum(w => w.Qty), Price = item.Sum(w => w.Qty * w.Price) / item.Sum(w => w.Qty) ?? 0, ItemType = item.Key.ItemType, Received = 0, ReceiveNow = 0, BasicPrice = item.Sum(w => w.Qty * w.Price) / item.Sum(w => w.Qty) ?? 0, BomQty = 0, DeliveryDate = _viewModel.SelectedMainRow.DeliveryDate, ShippingDate = _viewModel.SelectedMainRow.ShippingDate, Size = item.Key.Size, FabricColor = item.Key.FabricColor, Unit = item.Key.Unit, IsAcc = item.Key.IsAcc, ItemPerRow = item.FirstOrDefault().ItemPerRow, ItemId = item.Key.ItemId, }; newrow.TblPurchaseRequestLink = new ObservableCollection <PurchasePlanService.TblPurchaseRequestLink>(); foreach (var PurchaseRequestLink in _viewModel.DetailsList.Where(w => w.ItemId == item.Key.ItemId && w.FabricColor == item.Key.FabricColor && w.Size == item.Key.Size && w.BatchNo == item.Key.BatchNo && w.ItemType == item.Key.ItemType)) { newrow.TblPurchaseRequestLink.Add(new PurchasePlanService.TblPurchaseRequestLink() { TblPurchaseOrderDetail = PurchaseRequestLink.Iserial, }); } newrow.Iserial = 0; newrow.DeliveryDate = _viewModel.SelectedMainRow.DeliveryDate; newrow.ShippingDate = _viewModel.SelectedMainRow.ShippingDate; if (newrow.TblPurchaseRequestLink.Any()) { newrow.Enabled = false; } else { newrow.Enabled = true; } if (!_viewModel.SelectedMainRow.DetailsList.Any(w => w.ItemId == item.Key.ItemId && w.FabricColor == item.Key.FabricColor && w.Size == item.Key.Size && w.BatchNo == item.Key.BatchNo && w.ItemType == item.Key.ItemType)) { _viewModel.SelectedMainRow.DetailsList.Add(newrow); } } DialogResult = true; }
private void btnSplit_Click(object sender, RoutedEventArgs e) { var newrow = new TblPurchaseOrderDetailRequestModel(); newrow.InjectFrom(_viewModel.SelectedDetailRow); newrow.TblPurchaseRequestLink = new ObservableCollection <PurchasePlanService.TblPurchaseRequestLink>(); newrow.Iserial = 0; foreach (var PurchaseRequestLink in _viewModel.SelectedDetailRow.TblPurchaseRequestLink) { newrow.TblPurchaseRequestLink.Add(new PurchasePlanService.TblPurchaseRequestLink() { TblPurchaseOrderDetail = PurchaseRequestLink.TblPurchaseOrderDetail, }); } int currenctindex = _viewModel.SelectedMainRow.DetailsList.IndexOf(_viewModel.SelectedDetailRow) + 1; _viewModel.SelectedMainRow.DetailsList.Insert(currenctindex, newrow); }