JobFormLookups.cs 880 B

12345678910111213141516171819202122
  1. using System.Linq;
  2. using InABox.Core;
  3. namespace Comal.Classes
  4. {
  5. public class JobFormLookups : ILookupDefinition<DigitalForm, Job>, ILookupDefinition<DigitalForm, JobForm>
  6. {
  7. public Filter<DigitalForm> DefineFilter(Job[] items)
  8. {
  9. // Get all FillableFormTypes where 2nd parameter is typeof(JobFormDefinition)
  10. return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Job");
  11. }
  12. public Filter<DigitalForm> DefineFilter(JobForm[] items)
  13. {
  14. if (items == null || items.Length != 1)
  15. return new Filter<DigitalForm>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);
  16. return new Filter<DigitalForm>(x => x.ID).InQuery(new Filter<JobFormDefinition>(x => x.Job.ID).IsEqualTo(items.First().Parent.ID),
  17. x => x.Form.ID);
  18. }
  19. }
  20. }