RequisitionItemProductInstanceGrid.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Comal.Classes;
  2. using InABox.Core;
  3. using InABox.DynamicGrid;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading;
  9. using System.Threading.Tasks;
  10. namespace PRSDesktop.Panels.Requisitions;
  11. public class RequisitionItemProductInstanceGrid : DynamicDataGrid<ProductInstance>, ISpecificGrid
  12. {
  13. public Product? Product { get; set; }
  14. protected override void DoReconfigure(DynamicGridOptions options)
  15. {
  16. base.DoReconfigure(options);
  17. options.Clear();
  18. }
  19. protected override void Reload(
  20. Filters<ProductInstance> criteria, Columns<ProductInstance> columns, ref SortOrder<ProductInstance>? sort,
  21. CancellationToken token, Action<CoreTable?, Exception?> action)
  22. {
  23. if(Product is not null)
  24. {
  25. criteria.Add(new Filter<ProductInstance>(x => x.Product.ID).IsEqualTo(Product.ID));
  26. }
  27. else
  28. {
  29. criteria.Add(new Filter<ProductInstance>().None());
  30. }
  31. base.Reload(criteria, columns, ref sort, token, action);
  32. }
  33. }