JobITPForm.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  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. public override string AutoIncrementFormat() => "I-{0:D6}";
  8. }
  9. public class JobITPFormLookups : ILookupDefinition<DigitalForm, JobITP>, ILookupDefinition<DigitalForm, JobITPForm>
  10. {
  11. public Filter<DigitalForm> DefineFilter(JobITP[] items)
  12. {
  13. // Get all FillableFormTypes where 2nd parameter is typeof(JobITP)
  14. return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("JobITP");
  15. }
  16. Columns<JobITP> ILookupDefinition<DigitalForm, JobITP>.DefineFilterColumns()
  17. => new Columns<JobITP>();
  18. public Filter<DigitalForm> DefineFilter(JobITPForm[] items)
  19. {
  20. if (items == null || items.Length != 1)
  21. return new Filter<DigitalForm>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);
  22. return new Filter<DigitalForm>(x => x.ID).InQuery(
  23. new Filter<JobITP>(x => x.ID).IsEqualTo(items[0].Parent.ID),
  24. x => x.DigitalForm.ID);
  25. }
  26. Columns<JobITPForm> ILookupDefinition<DigitalForm, JobITPForm>.DefineFilterColumns()
  27. => new Columns<JobITPForm>(x => x.Parent.ID);
  28. }
  29. }