private void BtnAddProduct_Click(object sender, RoutedEventArgs e) { if (CurrentVM == null) { CurrentWindow.Alert(ResFloorMaintain.Info_SectionChecked); return; } UCProductForSection ucProduct = new UCProductForSection(); ucProduct.Dialog = CurrentWindow.ShowDialog(ResFloorMaintain.Head_ProductSection, ucProduct, (obj, args) => { if (args.DialogResult == DialogResultType.OK) { var result = args.Data as FloorSectionProductVM; FloorSectionItem sectionItem = LoadSectionItem(result, FloorItemType.Product); sectionItem.ItemProudct = result.ConvertVM <FloorSectionProductVM, FloorItemProduct>(); ServiceFacade.CreateFloorSectionItem(sectionItem, (s, objArgs) => { if (objArgs.FaultsHandle()) { return; } result.SysNo = objArgs.Result; ProductListVM.Add(result); productResult.ItemsSource = ProductListVM; }); } }); }
private void ButtonProductEdit_Click(object sender, RoutedEventArgs e) { HyperlinkButton btnEdit = sender as HyperlinkButton; var proVM = btnEdit.DataContext as FloorSectionProductVM; UCProductForSection ucProduct = new UCProductForSection(proVM.DeepCopy()); ucProduct.Dialog = CurrentWindow.ShowDialog(ResFloorMaintain.Head_ProductSection, ucProduct, (obj, args) => { if (args.DialogResult == DialogResultType.OK) { var result = args.Data as FloorSectionProductVM; FloorSectionItem sectionItem = result.ConvertVM <FloorSectionProductVM, FloorSectionItem>((s, t) => { t.ItemProudct = result.ConvertVM <FloorSectionProductVM, FloorItemProduct>(); }); ServiceFacade.UpdateFloorSectionItem(sectionItem, (s, objArgs) => { if (objArgs.FaultsHandle()) { return; } for (int i = 0; i < ProductListVM.Count; i++) { if (ProductListVM[i].SysNo == proVM.SysNo) { ProductListVM[i] = result.DeepCopy(); productResult.ItemsSource = ProductListVM; break; } } }); } }); }