JobAssignmentGrid.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System;
  2. using System.Linq;
  3. using System.Windows;
  4. using Comal.Classes;
  5. using InABox.Core;
  6. using InABox.DynamicGrid;
  7. namespace PRSDesktop
  8. {
  9. public class JobAssignmentGrid : DynamicDataGrid<Assignment>
  10. {
  11. public Guid JobID { get; set; }
  12. public JobAssignmentGrid()
  13. {
  14. Options.AddRange(
  15. DynamicGridOption.SelectColumns,
  16. DynamicGridOption.FilterRows,
  17. DynamicGridOption.ExportData
  18. );
  19. RowHeight = 30;
  20. }
  21. protected override void DoAdd(bool OpenEditorOnDirectEdit = false)
  22. {
  23. if (JobID.Equals(Guid.Empty) || JobID.Equals(CoreUtils.FullGuid))
  24. {
  25. MessageBox.Show("Please select a Job first!");
  26. return;
  27. }
  28. base.DoAdd();
  29. }
  30. protected override Assignment CreateItem()
  31. {
  32. var result = base.CreateItem();
  33. result.JobLink.ID = JobID;
  34. return result;
  35. }
  36. protected override void Reload(Filters<Assignment> criteria, Columns<Assignment> columns, ref SortOrder<Assignment> sort,
  37. Action<CoreTable, Exception> action)
  38. {
  39. criteria.Add(new Filter<Assignment>(x => x.JobLink.ID).IsEqualTo(JobID));
  40. base.Reload(criteria, columns, ref sort, action);
  41. }
  42. }
  43. }