MeetingDocumentGrid.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Windows;
  5. using System.Windows.Controls;
  6. using System.Windows.Media.Imaging;
  7. using Comal.Classes;
  8. using InABox.Core;
  9. using InABox.DynamicGrid;
  10. using InABox.WPF;
  11. using NPOI.OpenXmlFormats.Dml;
  12. namespace PRSDesktop
  13. {
  14. public class MeetingDocumentGrid : DynamicDataGrid<MeetingItemDocument>
  15. {
  16. public MeetingModel? Model { get; set; }
  17. public MeetingDocumentGrid()
  18. {
  19. HiddenColumns.Add(x => x.DocumentLink.ID);
  20. HiddenColumns.Add(x => x.DocumentLink.FileName);
  21. }
  22. protected override void DoReconfigure(FluentList<DynamicGridOption> options)
  23. {
  24. base.DoReconfigure(options);
  25. options.Clear();
  26. }
  27. protected override void Reload(Filters<MeetingItemDocument> criteria, Columns<MeetingItemDocument> columns, ref SortOrder<MeetingItemDocument>? sort, Action<CoreTable?, Exception?> action)
  28. {
  29. var meetingfilter = (Model == null) || (Model.ID == Guid.Empty)
  30. ? new Filter<MeetingItemDocument>().None()
  31. : new Filter<MeetingItemDocument>(x => x.EntityLink.Meeting.ID).IsEqualTo(Model.ID);
  32. criteria.Add(meetingfilter);
  33. base.Reload(criteria, columns, ref sort, action);
  34. }
  35. }
  36. }