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;
        }
Ejemplo n.º 2
0
        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);
        }