JobDocumentSetFolderSelectionDialog.xaml.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Comal.Classes;
  2. using InABox.Wpf;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows;
  10. using System.Windows.Controls;
  11. using System.Windows.Data;
  12. using System.Windows.Documents;
  13. using System.Windows.Input;
  14. using System.Windows.Media;
  15. using System.Windows.Media.Imaging;
  16. using System.Windows.Shapes;
  17. using InABox.DynamicGrid;
  18. namespace PRSDesktop;
  19. /// <summary>
  20. /// Interaction logic for JobDocumentSetFolderSelectionDialog.xaml
  21. /// </summary>
  22. public partial class JobDocumentSetFolderSelectionDialog : Window
  23. {
  24. public Guid SelectedFolder { get; set; } = Guid.Empty;
  25. public Job Job
  26. {
  27. get => Folders.Master;
  28. set => Folders.Master = value;
  29. }
  30. public JobDocumentSetFolderSelectionDialog(Job job)
  31. {
  32. InitializeComponent();
  33. Folders.Options.Clear();
  34. Job = job;
  35. }
  36. private void CancelButton_Click(object sender, RoutedEventArgs e)
  37. {
  38. DialogResult = false;
  39. SelectedFolder = Guid.Empty;
  40. Close();
  41. }
  42. private void OKButton_Click(object sender, RoutedEventArgs e)
  43. {
  44. if(SelectedFolder == Guid.Empty)
  45. {
  46. MessageWindow.ShowMessage("Please select a folder.", "Select a folder");
  47. return;
  48. }
  49. DialogResult = true;
  50. Close();
  51. }
  52. private void Window_Loaded(object sender, RoutedEventArgs e)
  53. {
  54. Folders.Refresh(true, true);
  55. }
  56. private void Folders_OnSelectItem(InABox.Core.CoreTreeNode<Guid> node)
  57. {
  58. SelectedFolder = node.ID;
  59. OKButton.IsEnabled = SelectedFolder != Guid.Empty;
  60. }
  61. private void Folders_OnSelectItem(object sender, DynamicGridSelectionEventArgs e)
  62. {
  63. SelectedFolder = e.Rows?.FirstOrDefault()?.Get<JobDocumentSetFolder, Guid>(x => x.ID) ?? Guid.Empty;
  64. OKButton.IsEnabled = SelectedFolder != Guid.Empty;
  65. }
  66. }