|
@@ -1,4 +1,5 @@
|
|
using InABox.Core;
|
|
using InABox.Core;
|
|
|
|
+using System;
|
|
|
|
|
|
namespace Comal.Classes
|
|
namespace Comal.Classes
|
|
{
|
|
{
|
|
@@ -6,11 +7,25 @@ namespace Comal.Classes
|
|
{
|
|
{
|
|
}
|
|
}
|
|
|
|
|
|
- public class EmployeeFormLookups : ILookupDefinition<DigitalForm, EmployeeForm>
|
|
|
|
|
|
+ public class EmployeeFormLookups : ILookupDefinition<DigitalForm, EmployeeForm>, ILookupDefinition<DigitalForm, Employee>
|
|
{
|
|
{
|
|
public Filter<DigitalForm> DefineFilter(EmployeeForm[] items)
|
|
public Filter<DigitalForm> DefineFilter(EmployeeForm[] items)
|
|
{
|
|
{
|
|
return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Employee");
|
|
return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("Employee");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public Filter<DigitalForm> DefineFilter(Employee[] items)
|
|
|
|
+ {
|
|
|
|
+ var filter = DefineFilter(Array.Empty<EmployeeForm>());
|
|
|
|
+
|
|
|
|
+ foreach (var employee in items)
|
|
|
|
+ {
|
|
|
|
+ filter.And(x => x.ID).InQuery(
|
|
|
|
+ new Filter<EmployeeDigitalForm>(x => x.Employee.ID).IsEqualTo(employee.ID),
|
|
|
|
+ x => x.Form.ID);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return filter;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|