AssignmentFormLookups.cs 878 B

123456789101112131415161718192021222324252627
  1. using InABox.Core;
  2. using System;
  3. namespace Comal.Classes
  4. {
  5. public class AssignmentFormLookups : ILookupDefinition<DigitalForm, AssignmentForm>, ILookupDefinition<DigitalForm, Assignment>
  6. {
  7. public Filter<DigitalForm> DefineFilter(AssignmentForm[] items)
  8. {
  9. return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Assignment");
  10. }
  11. public Filter<DigitalForm> DefineFilter(Assignment[] items)
  12. {
  13. var filter = DefineFilter(Array.Empty<AssignmentForm>());
  14. foreach (var assignment in items)
  15. {
  16. filter.And(x => x.ID).InQuery(
  17. new Filter<EmployeeDigitalForm>(x => x.Employee.ID).IsEqualTo(assignment.EmployeeLink.ID),
  18. x => x.Form.ID);
  19. }
  20. return filter;
  21. }
  22. }
  23. }