JobRequisitionPanel.xaml.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Drawing.Imaging;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Windows.Controls;
  9. using com.healthmarketscience.jackcess.impl;
  10. using Comal.Classes;
  11. using InABox.Clients;
  12. using InABox.Core;
  13. using InABox.DynamicGrid;
  14. using Syncfusion.Pdf.Parsing;
  15. namespace PRSDesktop
  16. {
  17. /// <summary>
  18. /// Interaction logic for JobMaterialPanel.xaml
  19. /// </summary>
  20. public partial class JobRequisitionPanel : UserControl, IPanel<JobMaterial>, IJobControl
  21. {
  22. public JobRequisitionPanel()
  23. {
  24. InitializeComponent();
  25. Items.Requisition = new Requisition();
  26. }
  27. public Job Job
  28. {
  29. get => Requisitions.Job;
  30. set => Requisitions.Job = value;
  31. }
  32. public JobPanelSettings Settings { get; set; }
  33. public bool IsReady { get; set; }
  34. public event DataModelUpdateEvent OnUpdateDataModel;
  35. public void CreateToolbarButtons(IPanelHost host)
  36. {
  37. }
  38. public void Setup()
  39. {
  40. Requisitions.Refresh(true, false);
  41. Items.Refresh(true, false);
  42. }
  43. public void Shutdown(CancelEventArgs? cancel)
  44. {
  45. }
  46. public void Refresh()
  47. {
  48. Requisitions.Refresh(false, true);
  49. }
  50. public string SectionName => "Job Requisitions";
  51. public DataModel DataModel(Selection selection)
  52. {
  53. var ids = Requisitions.ExtractValues(x => x.ID, selection).ToArray();
  54. return new AutoDataModel<JobRequisition>(new Filter<JobRequisition>(c => c.ID).InList(ids));
  55. }
  56. public Dictionary<string, object[]> Selected()
  57. {
  58. return new Dictionary<string, object[]>();
  59. }
  60. public void Heartbeat(TimeSpan time)
  61. {
  62. }
  63. private void Requisitions_OnSelectItem(object sender, DynamicGridSelectionEventArgs e)
  64. {
  65. Items.Requisition = e.Rows?.FirstOrDefault()?.ToObject<Requisition>() ?? new Requisition();
  66. Items.Refresh(false, true);
  67. }
  68. }
  69. }