LicenseTrackingItemGrid.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Threading.Tasks;
  4. using System.Windows;
  5. using InABox.Client.Remote.Json;
  6. using InABox.Clients;
  7. using InABox.Core;
  8. using InABox.DynamicGrid;
  9. using PRS.Shared;
  10. using RestSharp;
  11. namespace PRSServer.Forms.DatabaseLicense;
  12. public class LicenseTrackingItemGrid : DynamicItemsListGrid<LicenseTrackingItem>
  13. {
  14. public LicenseData? CurrentLicense { get; set; }
  15. public LicenseTrackingItemGrid() : base()
  16. {
  17. HiddenColumns.Add(x => x.Type);
  18. HiddenColumns.Add(x => x.ExGST);
  19. }
  20. protected override void DoReconfigure(DynamicGridOptions options)
  21. {
  22. options.Clear();
  23. }
  24. protected override DynamicGridColumns LoadColumns()
  25. {
  26. var columns = base.LoadColumns();
  27. if (CurrentLicense?.IsDynamic != true)
  28. {
  29. var ratecol = columns.FirstOrDefault(x => string.Equals(x.ColumnName, nameof(LicenseTrackingItem.Rate)));
  30. if (ratecol != null)
  31. columns.Remove(ratecol);
  32. var exgstcol = columns.FirstOrDefault(x => string.Equals(x.ColumnName, nameof(LicenseTrackingItem.ExGST)));
  33. if (exgstcol != null)
  34. columns.Remove(exgstcol);
  35. }
  36. return columns;
  37. }
  38. }