JobAssignmentGrid.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 Job Job { get; set; }
  12. public JobAssignmentGrid()
  13. {
  14. RowHeight = 30;
  15. }
  16. protected override void DoReconfigure(FluentList<DynamicGridOption> options)
  17. {
  18. base.DoReconfigure(options);
  19. options.AddRange(
  20. DynamicGridOption.SelectColumns,
  21. DynamicGridOption.FilterRows,
  22. DynamicGridOption.ExportData
  23. );
  24. }
  25. protected override bool CanCreateItems()
  26. {
  27. return Job.ID != Guid.Empty;
  28. }
  29. protected override Assignment CreateItem()
  30. {
  31. var result = base.CreateItem();
  32. result.JobLink.ID = Job.ID;
  33. result.JobLink.Synchronise(Job);
  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(Job.ID));
  40. base.Reload(criteria, columns, ref sort, action);
  41. }
  42. }
  43. }