LicenseTrackingItemGrid.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 DynamicGridColumns LoadColumns()
  21. {
  22. var columns = base.LoadColumns();
  23. if (CurrentLicense?.IsDynamic != true)
  24. {
  25. var ratecol = columns.FirstOrDefault(x => string.Equals(x.ColumnName, nameof(LicenseTrackingItem.Rate)));
  26. if (ratecol != null)
  27. columns.Remove(ratecol);
  28. var exgstcol = columns.FirstOrDefault(x => string.Equals(x.ColumnName, nameof(LicenseTrackingItem.ExGST)));
  29. if (exgstcol != null)
  30. columns.Remove(exgstcol);
  31. }
  32. return columns;
  33. }
  34. }