RequisitionsDock.xaml.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Linq;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. using Comal.Classes;
  6. using InABox.Clients;
  7. using InABox.DynamicGrid;
  8. namespace PRSDesktop;
  9. public partial class RequisitionsDock : UserControl, IDockPanel
  10. {
  11. public RequisitionsDock()
  12. {
  13. InitializeComponent();
  14. }
  15. private MyRequisitionsList? _requisitionList;
  16. private MyRequisitionItems? _requisitionItems;
  17. public void Setup()
  18. {
  19. _requisitionList = new MyRequisitionsList() { Margin = new Thickness(0, 2, 0, 0) };
  20. _requisitionList.OnSelectItem += Requisitions_OnOnSelectItem;
  21. _grid.Children.Add(_requisitionList);
  22. _requisitionList.Refresh(true,false);
  23. _requisitionItems = new MyRequisitionItems() { Margin = new Thickness(0, 2, 0, 0) };
  24. _requisitionItems.SetValue(Grid.RowProperty, 2);
  25. _grid.Children.Add(_requisitionItems);
  26. _requisitionItems.Refresh(true,false);
  27. }
  28. public void Refresh()
  29. {
  30. _requisitionList?.Refresh(false,true);
  31. }
  32. private Requisition? _requisition = null;
  33. private void Requisitions_OnOnSelectItem(object sender, DynamicGridSelectionEventArgs e)
  34. {
  35. if (_requisitionList == null || _requisitionItems == null)
  36. return;
  37. _requisition = e.Rows?.FirstOrDefault()?.ToObject<Requisition>();
  38. _requisitionItems.RequisitionID = _requisition?.ID ?? Guid.Empty;
  39. _requisitionItems.Refresh(false,true);
  40. _requisitionItems.IsEnabled = _requisition != null;
  41. _request.Text = _requisition?.Request ?? "";
  42. _request.IsEnabled = _requisition != null;
  43. }
  44. }