JobFormLookups.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. using System.Linq;
  3. using InABox.Core;
  4. namespace Comal.Classes
  5. {
  6. public class DigitalFormJobLookup : LookupDefinitionGenerator<DigitalForm, Job>
  7. {
  8. public override Filter<DigitalForm> DefineFilter(Job[] items)
  9. {
  10. return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Job");
  11. }
  12. public override Columns<Job> DefineFilterColumns()
  13. => new Columns<Job>();
  14. }
  15. public class DigitalFormJobFormLookup : LookupDefinitionGenerator<DigitalForm, JobForm>
  16. {
  17. public override Filter<DigitalForm> DefineFilter(JobForm[] items)
  18. {
  19. if (items == null || items.Length != 1)
  20. return new Filter<DigitalForm>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);
  21. return new Filter<DigitalForm>(x => x.ID).InQuery(new Filter<JobFormDefinition>(x => x.Job.ID).IsEqualTo(items.First().Parent.ID),
  22. x => x.Form.ID);
  23. }
  24. public override Columns<JobForm> DefineFilterColumns()
  25. => new Columns<JobForm>(x => x.Parent.ID);
  26. }
  27. }