StockBatchGrid.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Threading;
  3. using Comal.Classes;
  4. using InABox.Core;
  5. using InABox.DynamicGrid;
  6. namespace PRSDesktop
  7. {
  8. public class StockBatchGrid : DynamicDataGrid<StockMovementBatch>
  9. {
  10. protected override void DoReconfigure(DynamicGridOptions options)
  11. {
  12. base.DoReconfigure(options);
  13. options.RecordCount = true;
  14. options.SelectColumns = true;
  15. options.FilterRows = true;
  16. }
  17. public DateTime StartDate { get; set; } = DateTime.MinValue;
  18. public DateTime EndDate { get; set; } = DateTime.MaxValue;
  19. protected override void Reload(
  20. Filters<StockMovementBatch> criteria, Columns<StockMovementBatch> columns, ref SortOrder<StockMovementBatch>? sort,
  21. CancellationToken token, Action<CoreTable?, Exception?> action)
  22. {
  23. if (!DateTime.Equals(StartDate, DateTime.MinValue))
  24. criteria.Add(new Filter<StockMovementBatch>(x => x.TimeStamp).IsGreaterThanOrEqualTo(StartDate.Date));
  25. if (!DateTime.Equals(EndDate, DateTime.MaxValue))
  26. criteria.Add(new Filter<StockMovementBatch>(x => x.TimeStamp).IsLessThanOrEqualTo(EndDate.Date.AddDays(1)));
  27. base.Reload(criteria, columns, ref sort, token, action);
  28. }
  29. }
  30. }