JobITPForm.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. using InABox.Core;
  2. using System.Linq;
  3. namespace Comal.Classes
  4. {
  5. public class JobITPForm : EntityForm<JobITP, JobITPLink>, IDigitalForm<JobITP>, ILicense<ProjectManagementLicense>
  6. {
  7. }
  8. public class JobITPFormLookups : ILookupDefinition<DigitalForm, JobITP>, ILookupDefinition<DigitalForm, JobITPForm>
  9. {
  10. public Filter<DigitalForm> DefineFilter(JobITP[] items)
  11. {
  12. // Get all FillableFormTypes where 2nd parameter is typeof(JobITP)
  13. return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("JobITP");
  14. }
  15. Columns<JobITP> ILookupDefinition<DigitalForm, JobITP>.DefineFilterColumns()
  16. => new Columns<JobITP>();
  17. public Filter<DigitalForm> DefineFilter(JobITPForm[] 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(
  22. new Filter<JobITP>(x => x.ID).IsEqualTo(items[0].Parent.ID),
  23. x => x.DigitalForm.ID);
  24. }
  25. Columns<JobITPForm> ILookupDefinition<DigitalForm, JobITPForm>.DefineFilterColumns()
  26. => new Columns<JobITPForm>(x => x.Parent.ID);
  27. }
  28. }