JobITPForm.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using InABox.Core;
  2. using System.Linq;
  3. namespace Comal.Classes
  4. {
  5. public class JobITPForm : EntityForm<JobITP, JobITPLink, JobITPForm>, IDigitalForm<JobITP>, ILicense<ProjectManagementLicense>
  6. {
  7. public override string AutoIncrementPrefix() => "IF";
  8. }
  9. public class DigitalFormJobITPLookup : LookupDefinitionGenerator<DigitalForm, JobITP>
  10. {
  11. public override Filter<DigitalForm> DefineFilter(JobITP[] items)
  12. {
  13. return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("JobITP");
  14. }
  15. public override Columns<JobITP> DefineFilterColumns()
  16. => new Columns<JobITP>();
  17. }
  18. public class DigitalFormJobITPFormLookup : LookupDefinitionGenerator<DigitalForm, JobITPForm>
  19. {
  20. public override Filter<DigitalForm> DefineFilter(JobITPForm[] items)
  21. {
  22. if (items == null || items.Length != 1)
  23. return new Filter<DigitalForm>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);
  24. return new Filter<DigitalForm>(x => x.ID).InQuery(
  25. new Filter<JobITP>(x => x.ID).IsEqualTo(items[0].Parent.ID),
  26. x => x.DigitalForm.ID);
  27. }
  28. public override Columns<JobITPForm> DefineFilterColumns()
  29. => new Columns<JobITPForm>(x => x.Parent.ID);
  30. }
  31. }