JobITPLookups.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. Columns<Assignment> ILookupDefinition<JobITP, Assignment>.DefineFilterColumns()
  17. => new Columns<Assignment>(x => x.JobLink.ID);
  18. public Filter<JobITP> DefineFilter(JobBillOfMaterialsItem[] items)
  19. {
  20. if (items.Length == 1)
  21. return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(items.First().Job.ID);
  22. return DefineFilter();
  23. }
  24. Columns<JobBillOfMaterialsItem> ILookupDefinition<JobITP, JobBillOfMaterialsItem>.DefineFilterColumns()
  25. => new Columns<JobBillOfMaterialsItem>(x => x.Job.ID);
  26. public Filter<JobITP> DefineFilter(ManufacturingPacket[] items)
  27. {
  28. if (items.Length == 1)
  29. return new Filter<JobITP>(x => x.Job.ID).IsEqualTo(items.First().SetoutLink.JobLink.ID);
  30. return DefineFilter();
  31. }
  32. Columns<ManufacturingPacket> ILookupDefinition<JobITP, ManufacturingPacket>.DefineFilterColumns()
  33. => new Columns<ManufacturingPacket>(x => x.SetoutLink.JobLink.ID);
  34. public override Columns<JobITP> DefineColumns()
  35. {
  36. return new Columns<JobITP>(
  37. x => x.ID,
  38. x => x.Code,
  39. x => x.Description
  40. );
  41. }
  42. public override Filter<JobITP> DefineFilter()
  43. {
  44. return new Filter<JobITP>(x => x.ID).IsEqualTo(Guid.Empty);
  45. }
  46. public override SortOrder<JobITP> DefineSortOrder()
  47. {
  48. return new SortOrder<JobITP>(x => x.Code);
  49. }
  50. }
  51. }