ProductLookups.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using InABox.Core;
  5. namespace Comal.Classes
  6. {
  7. public class ProductLookups : EntityLookup<Product>
  8. {
  9. public override Columns<Product> DefineColumns()
  10. {
  11. return Columns.None<Product>().Add(
  12. x => x.ID,
  13. x => x.Code,
  14. x => x.Name,
  15. x => x.TaxCode.ID,
  16. x => x.PurchaseGL.ID,
  17. x => x.NettCost,
  18. x => x.DefaultInstance.Dimensions.Unit.ID,
  19. x => x.DefaultInstance.Dimensions.Unit.Code,
  20. x => x.DefaultInstance.Dimensions.Unit.Description,
  21. x => x.DefaultInstance.Dimensions.Unit.HasLength,
  22. x => x.DefaultInstance.Dimensions.Unit.HasHeight,
  23. x => x.DefaultInstance.Dimensions.Unit.HasQuantity,
  24. x => x.DefaultInstance.Dimensions.Unit.HasWeight,
  25. x => x.DefaultInstance.Dimensions.Unit.HasWidth,
  26. x => x.DefaultInstance.Dimensions.Unit.Formula,
  27. x => x.DefaultInstance.Dimensions.Unit.Format,
  28. x => x.DefaultInstance.Dimensions.Height,
  29. x => x.DefaultInstance.Dimensions.Length,
  30. x => x.DefaultInstance.Dimensions.Quantity,
  31. x => x.DefaultInstance.Dimensions.Weight,
  32. x => x.DefaultInstance.Dimensions.Width,
  33. x => x.DefaultInstance.Dimensions.Value,
  34. x => x.DefaultInstance.Dimensions.UnitSize
  35. );
  36. }
  37. public override string FormatLookup(Dictionary<string, object?> values, IEnumerable<string> exclude)
  38. {
  39. return $"{values["Name"]}";
  40. }
  41. public override Filter<Product> DefineFilter()
  42. {
  43. return new Filter<Product>(x => x.Expired).IsEqualTo(DateTime.MinValue);
  44. }
  45. public override SortOrder<Product> DefineSortOrder()
  46. {
  47. return new SortOrder<Product>(x => x.Code);
  48. }
  49. }
  50. }