QuoteDocumentLookups.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Linq;
  3. using InABox.Core;
  4. namespace Comal.Classes
  5. {
  6. public class QuoteDocumentLookups : EntityLookup<QuoteDocument>, ILookupDefinition<QuoteDocument, QuoteDiagram>
  7. {
  8. public Filter<QuoteDocument> DefineFilter(QuoteDiagram[] items)
  9. {
  10. if (items == null || !items.Any())
  11. return DefineFilter();
  12. return new Filter<QuoteDocument>(x => x.EntityLink.ID).IsEqualTo(items.First().Quote.ID);
  13. }
  14. Columns<QuoteDiagram> ILookupDefinition<QuoteDocument, QuoteDiagram>.DefineFilterColumns()
  15. => new Columns<QuoteDiagram>(x => x.Quote.ID);
  16. public override Columns<QuoteDocument> DefineColumns()
  17. {
  18. return new Columns<QuoteDocument>(
  19. x => x.ID,
  20. x => x.DocumentLink.ID,
  21. x => x.DocumentLink.FileName
  22. );
  23. }
  24. public override Filter<QuoteDocument> DefineFilter()
  25. {
  26. return new Filter<QuoteDocument>(x => x.ID).IsEqualTo(Guid.Empty);
  27. }
  28. public override SortOrder<QuoteDocument> DefineSortOrder()
  29. {
  30. return new SortOrder<QuoteDocument>(x => x.DocumentLink.FileName);
  31. }
  32. }
  33. }