JobScopeAssignmentGrid.cs 914 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.Threading;
  3. using Comal.Classes;
  4. using InABox.Core;
  5. using InABox.DynamicGrid;
  6. namespace PRSDesktop;
  7. public class JobScopeAssignmentGrid : DynamicDataGrid<Assignment>, IJobScopeGrid
  8. {
  9. public JobScope? Scope { get; set; }
  10. protected override void DoReconfigure(DynamicGridOptions options)
  11. {
  12. base.DoReconfigure(options);
  13. options.AddRows = false;
  14. }
  15. protected override void Reload(
  16. Filters<Assignment> criteria, Columns<Assignment> columns, ref SortOrder<Assignment>? sort,
  17. CancellationToken token, Action<CoreTable?, Exception?> action)
  18. {
  19. if ((Scope == null) || (Scope.ID == Guid.Empty))
  20. criteria.Add(new Filter<Assignment>(x => x.ID).None());
  21. else
  22. criteria.Add(new Filter<Assignment>(x => x.JobScope.ID).IsEqualTo(Scope.ID));
  23. base.Reload(criteria, columns, ref sort, token, action);
  24. }
  25. }