private void OKButton_Click(object sender, RoutedEventArgs e) { try { if (dGridStyles.SelectedItems.Count > 0) { if (SubmitAction != null) { foreach (_Proxy.TblSalesOrderColor item in dGridStyles.SelectedItems) { if (RouteCardDetailOperationList != null && RouteCardDetailOperationList.Any(x => x.TblColor == item.TblColor)) { foreach ( var variable in RouteCardDetailOperationList.Where(x => x.TblColor == item.TblColor) .GroupBy(x => x.Degree)) { var temp = new RouteCardViewModel { WareHouseDegreeList = ViewModel.WareHouseDegreeList, TblSalesOrder = item.TblSalesOrder, TblColor = item.TblColor, ObjectIndex = Guid.NewGuid().ToString("D"), Price = CostPerOperation, ColorPerRow = item.TblColor1, SalesOrderPerRow = item.TblSalesOrder1, Degree = variable.Key, }; foreach (var sizeItem in item.TblSalesOrderSizeRatios) { var routeCardSize = new RoutCardSizeInfo { SizeCode = sizeItem.Size, SizeConsumption = (int)sizeItem.Ratio, IsTextBoxEnabled = true }; temp.RoutCardSizes.Add(routeCardSize); } foreach (var newVariable in temp.RoutCardSizes) { if (RouteCardDetailOperationList != null) { var row = RouteCardDetailOperationList.FirstOrDefault( x => x.Size == newVariable.SizeCode && x.TblColor == item.TblColor && x.Degree == variable.Key); if (row != null) { if (row.SizeQuantity != null) { newVariable.SizeConsumption = (int)row.SizeQuantity; } } else { newVariable.SizeConsumption = 0; } } else { newVariable.SizeConsumption = 0; } } ReturnResult.Add(temp); } } else { var temp = new RouteCardViewModel { WareHouseDegreeList = ViewModel.WareHouseDegreeList, TblSalesOrder = item.TblSalesOrder, TblColor = item.TblColor, ObjectIndex = Guid.NewGuid().ToString("D"), ColorPerRow = item.TblColor1, SalesOrderPerRow = item.TblSalesOrder1, Degree = "1st", Price = CostPerOperation, }; foreach (var sizeItem in item.TblSalesOrderSizeRatios) { var routeCardSize = new RoutCardSizeInfo { SizeCode = sizeItem.Size, SizeConsumption = (int)sizeItem.Ratio, IsTextBoxEnabled = true }; temp.RoutCardSizes.Add(routeCardSize); } ReturnResult.Add(temp); } } ViewModel.RouteCardDetailOperationList = RouteCardDetailOperationList; SubmitAction(this, new EventArgs()); } } DialogResult = true; } catch (Exception ex) { var errw = new ErrorWindow(ex); errw.Show(); } }
private void OKButton_Click(object sender, RoutedEventArgs e) { if (_inspection) { try { var selectedrow = MainGrid.SelectedItem as _proxy.RouteCardHeader; _routeCardHeader.RouteCardDetails.Clear(); _routeCardHeader.LinkIserial = selectedrow.Iserial; var objectindexlist = selectedrow.RouteCardDetails.Select(x => x.ObjectIndex); foreach (var variable in objectindexlist) { var savedrow = selectedrow.RouteCardDetails.FirstOrDefault(x => x.ObjectIndex == variable); var temp = (RouteCardViewModel) new RouteCardViewModel().InjectFrom(savedrow); if (savedrow != null) { temp.ColorPerRow = savedrow.TblColor1; temp.SalesOrderPerRow = savedrow.TblSalesOrder1; } foreach (var VARIABLE in _viewModel.Sizes.Where((x => x.TblSizeGroup == savedrow.TblSalesOrder1.TblStyle1.TblSizeGroup)).OrderBy(x => x.Id).Distinct()) { foreach (var item in selectedrow.RouteCardDetails.OrderBy(x => x.Iserial).Where(x => x.ObjectIndex == variable && x.Size == VARIABLE.SizeCode).ToList()) { if (item.SizeQuantity != null) { var newSize = new RoutCardSizeInfo { SizeCode = item.Size, SizeConsumption = (int)item.SizeQuantity, IsTextBoxEnabled = true }; temp.RoutCardSizes.Add(newSize); } } } temp.RowTotal = temp.RoutCardSizes.Sum(x => x.SizeConsumption); if (_routeCardHeader.RouteCardDetails.All(x => x.ObjectIndex != variable)) { _routeCardHeader.RouteCardDetails.Add(temp); } } } catch (Exception ex) { var err = new ErrorWindow(ex); err.Show(); } } else { RouteCardMappers.MapToViewModel(MainGrid.SelectedItem as RouteCardService.RouteCardHeader, _routeCardHeader); if (_viewModel.VendorList != null) { if (_viewModel.VendorList.Any(w => w.vendor_code == _routeCardHeader.VendorCode)) { _routeCardHeader.VendorPerRow = new _proxy.Vendor().InjectFrom(_viewModel.VendorList.FirstOrDefault(w => w.vendor_code == _routeCardHeader.VendorCode)) as _proxy.Vendor; } } _routeCardHeader.LoadRouteDetails(); } DialogResult = true; }