LogikalProjectGrid.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Comal.Classes;
  6. using InABox.Clients;
  7. using InABox.Core;
  8. using InABox.DynamicGrid;
  9. using InABox.Logikal;
  10. using InABox.WPF;
  11. using Microsoft.CodeAnalysis;
  12. namespace PRSDesktop;
  13. public class LogikalProjectGrid : LogikalGrid<LogikalProject>
  14. {
  15. public String JobNumber { get; set; }
  16. protected override void Init()
  17. {
  18. base.Init();
  19. HiddenColumns.Add(x => x.ID);
  20. }
  21. public override DynamicGridColumns GenerateColumns()
  22. {
  23. if (string.IsNullOrWhiteSpace(JobNumber))
  24. return base.GenerateColumns();
  25. var result = new DynamicGridColumns();
  26. result.Add<LogikalProject, string>(x => x.Name, 0, "Projects", "", Alignment.MiddleLeft);
  27. //result.Add<LogikalProject, string>(x => x.PersonInCharge, 100, "Manager", "", Alignment.MiddleLeft);
  28. return result;
  29. }
  30. protected override void DoGet(LogikalClient client, IProgress<string> progress)
  31. {
  32. Items = new List<LogikalProject>();
  33. if (!string.IsNullOrWhiteSpace(JobNumber))
  34. {
  35. client.GetProjects(JobNumber)
  36. .Always(NotifyResponseReceived)
  37. .Success<LogikalProjectsResponse<LogikalProject>>(p =>
  38. {
  39. Items = p.Projects.ToList();
  40. });
  41. }
  42. }
  43. }