JobITPLookups.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Linq;
  3. using InABox.Core;
  4. namespace Comal.Classes
  5. {
  6. public class JobITPLookups : EntityLookup<JobITP>, ILookupDefinition<JobITP, JobBillOfMaterialsItem>,
  7. ILookupDefinition<JobITP, ManufacturingPacket>,
  8. ILookupDefinition<JobITP, Assignment>
  9. {
  10. public Filter<JobITP> DefineFilter(Assignment[] items)
  11. {
  12. if (items.Length == 1)
  13. return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(items.First().JobLink.ID);
  14. return DefineFilter();
  15. }
  16. public Filter<JobITP> DefineFilter(JobBillOfMaterialsItem[] items)
  17. {
  18. if (items.Length == 1)
  19. return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(items.First().Job.ID);
  20. return DefineFilter();
  21. }
  22. public Filter<JobITP> DefineFilter(ManufacturingPacket[] items)
  23. {
  24. if (items.Length == 1)
  25. return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(items.First().SetoutLink.JobLink.ID);
  26. return DefineFilter();
  27. }
  28. public override Columns<JobITP> DefineColumns()
  29. {
  30. return new Columns<JobITP>(
  31. x => x.ID,
  32. x => x.Code,
  33. x => x.Description
  34. );
  35. }
  36. public override Filter<JobITP> DefineFilter()
  37. {
  38. return new Filter<JobITP>(x => x.ID).IsEqualTo(Guid.Empty);
  39. }
  40. public override SortOrder<JobITP> DefineSortOrder()
  41. {
  42. return new SortOrder<JobITP>(x => x.Code);
  43. }
  44. }
  45. }