RequisitionItemHoldingSelector.xaml.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System;
  2. using System.Linq;
  3. using System.Windows;
  4. using Comal.Classes;
  5. using InABox.Core;
  6. using InABox.Wpf;
  7. namespace PRSDesktop
  8. {
  9. /// <summary>
  10. /// Interaction logic for RequisitionItemHoldingSelector.xaml
  11. /// </summary>
  12. public partial class RequisitionItemHoldingSelector : ThemableWindow
  13. {
  14. public RequisitionItemHoldingSelector(CoreTable data)
  15. {
  16. InitializeComponent();
  17. Items.MasterData = data;
  18. Items.Refresh(true, true);
  19. }
  20. private void OK_Click(object sender, RoutedEventArgs e)
  21. {
  22. var result = MessageBoxResult.Yes;
  23. var emptyrows = Items.MasterData.Rows.Where(r => !Entity.IsEntityLinkValid<RequisitionItem, StockHoldingLink>(x => x.Holding, r));
  24. if (emptyrows.Any())
  25. {
  26. MessageBox.Show("You must select a Holding for each non-stock Item on this Requisition!", "Missing Holdings", MessageBoxButton.OK,
  27. MessageBoxImage.Error);
  28. result = MessageBoxResult.No;
  29. }
  30. if (result != MessageBoxResult.No)
  31. DialogResult = true;
  32. }
  33. private void Cancel_Click(object sender, RoutedEventArgs e)
  34. {
  35. DialogResult = false;
  36. }
  37. }
  38. }