private void _ServiceClient_GetSalesOrderColorsCompleted(object sender, _Proxy.GetSalesOrderColorsCompletedEventArgs e) { try { CostPerOperation = e.Cost; dGridStyles.ItemsSource = e.Result.ToList(); RouteCardDetailOperationList.Clear(); if (e.RouteCardDetailList != null) { foreach (var item in e.RouteCardDetailList.ToList()) { RouteCardDetailOperationList.Add(new RouteCardService.RouteCardDetail().InjectFrom(item) as RouteCardService.RouteCardDetail); } } } catch (Exception ex) { var errw = new ErrorWindow(ex); errw.Show(); } }
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(); } }