StockBatchGrid.cs 1.2 KB

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