JobRequisitionItemPurchaseOrderItemGrid.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Comal.Classes;
  2. using InABox.Clients;
  3. using InABox.Core;
  4. using InABox.DynamicGrid;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace PRSDesktop;
  11. public class JobRequisitionItemPurchaseOrderItemGrid : DynamicOneToManyGrid<JobRequisitionItem, JobRequisitionItemPurchaseOrderItem>
  12. {
  13. public override void Load(object item, Func<Type, CoreTable?>? PageDataHandler)
  14. {
  15. Reconfigure();
  16. Refresh(true, false);
  17. base.Load(item, type =>
  18. {
  19. var data = PageDataHandler?.Invoke(type);
  20. if (data is null && type == typeof(JobRequisitionItemPurchaseOrderItem))
  21. {
  22. Filter<JobRequisitionItemPurchaseOrderItem> filter;
  23. if (Item.ID == Guid.Empty)
  24. {
  25. filter = new Filter<JobRequisitionItemPurchaseOrderItem>().None();
  26. }
  27. else
  28. {
  29. filter = new Filter<JobRequisitionItemPurchaseOrderItem>(x => x.JobRequisitionItem.ID).IsEqualTo(Item.ID);
  30. }
  31. data = new Client<JobRequisitionItemPurchaseOrderItem>().Query(
  32. filter,
  33. DynamicGridUtils.LoadEditorColumns(DataColumns()),
  34. LookupFactory.DefineSort<JobRequisitionItemPurchaseOrderItem>());
  35. }
  36. return data;
  37. });
  38. }
  39. }