JobSummaryPanel.xaml.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Windows;
  5. using System.Windows.Controls;
  6. using Comal.Classes;
  7. using InABox.Core;
  8. using InABox.Wpf;
  9. using System.ComponentModel;
  10. namespace PRSDesktop
  11. {
  12. public partial class JobSummaryPanel : UserControl, IMasterDetailControl<Job>, IPanel<JobMaterial>
  13. {
  14. public JobSummaryPanel()
  15. {
  16. InitializeComponent();
  17. }
  18. public Job? Master
  19. {
  20. get => Summary.Master;
  21. set => Summary.Master = value;
  22. }
  23. public StockReleaseWriteDownMethod StockRelease
  24. {
  25. get => Summary.StockRelease;
  26. set => Summary.StockRelease = value;
  27. }
  28. public bool IsReady { get; set; }
  29. public event DataModelUpdateEvent? OnUpdateDataModel;
  30. public void CreateToolbarButtons(IPanelHost host)
  31. {
  32. }
  33. public string SectionName => "Job Summary";
  34. public DataModel DataModel(Selection selection)
  35. {
  36. return new AutoDataModel<JobMaterial>(Summary.MasterDetailFilter);
  37. }
  38. public void Heartbeat(TimeSpan time)
  39. {
  40. }
  41. public void Refresh()
  42. {
  43. Summary.Refresh(false, true);
  44. }
  45. public Dictionary<string, object[]> Selected()
  46. {
  47. return new Dictionary<string, object[]> { { typeof(JobMaterial).EntityName(), Summary.SelectedRows } };
  48. }
  49. public void Setup()
  50. {
  51. Summary.Refresh(true, false);
  52. }
  53. public void Shutdown(CancelEventArgs? cancel)
  54. {
  55. }
  56. private void ReservedStock_OnChecked(object sender, RoutedEventArgs e)
  57. {
  58. Summary.IncludeReserves = ReservedStock.IsChecked == true;
  59. Summary.Refresh(false, true);
  60. }
  61. private void IssuesCheckBox_Checked(object sender, RoutedEventArgs e)
  62. {
  63. Summary.ShowIssues = IssuesCheckBox.IsChecked == true;
  64. Summary.Refresh(false, true);
  65. }
  66. }
  67. }