LogikalProjectCentreGrid.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Linq;
  3. using Comal.Classes;
  4. using InABox.DynamicGrid;
  5. using InABox.Integration.Logikal;
  6. using PRSDesktop.Integrations.Logikal;
  7. namespace PRSDesktop;
  8. public class LogikalProjectCentreGrid : LogikalGrid<LogikalProjectCentre>
  9. {
  10. protected override void Init()
  11. {
  12. base.Init();
  13. HiddenColumns.Add(x => x.ID);
  14. }
  15. protected override void DoGet(LogikalClient client, IProgress<string> progress)
  16. {
  17. client.GetProjectCentres()
  18. .Always(NotifyResponseReceived)
  19. .Success<LogikalProjectCentresResponse<LogikalProjectCentre, LogikalProject>>(c =>
  20. {
  21. Items = c.ProjectCentres.ToList();
  22. });
  23. }
  24. //protected override void AfterGet()
  25. //{
  26. // base.AfterGet();
  27. // Refresh(false, true);
  28. //}
  29. private DynamicGridTreeUIComponent<LogikalProjectCentre, Guid>? _uiComponent;
  30. private DynamicGridTreeUIComponent<LogikalProjectCentre, Guid> UIComponent
  31. {
  32. get
  33. {
  34. if(_uiComponent is null)
  35. {
  36. _uiComponent = new DynamicGridTreeUIComponent<LogikalProjectCentre, Guid>(
  37. x => x.ID,
  38. x => x.ParentID,
  39. Guid.Empty)
  40. {
  41. Parent = this,
  42. MaxRowHeight = 30,
  43. };
  44. }
  45. return _uiComponent;
  46. }
  47. }
  48. protected override IDynamicGridUIComponent<LogikalProjectCentre> CreateUIComponent()
  49. {
  50. return UIComponent;
  51. }
  52. }