using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Comal.Classes; using InABox.Clients; using InABox.Core; using InABox.DynamicGrid; using InABox.Logikal; using InABox.WPF; using Microsoft.CodeAnalysis; namespace PRSDesktop; public class LogikalProjectGrid : LogikalGrid { public String JobNumber { get; set; } protected override void Init() { base.Init(); HiddenColumns.Add(x => x.ID); } public override DynamicGridColumns GenerateColumns() { if (string.IsNullOrWhiteSpace(JobNumber)) return base.GenerateColumns(); var result = new DynamicGridColumns(); result.Add(x => x.Name, 0, "Projects", "", Alignment.MiddleLeft); //result.Add(x => x.PersonInCharge, 100, "Manager", "", Alignment.MiddleLeft); return result; } protected override void DoGet(LogikalClient client, IProgress progress) { Items = new List(); if (!string.IsNullOrWhiteSpace(JobNumber)) { client.GetProjects(JobNumber) .Always(NotifyResponseReceived) .Success>(p => { Items = p.Projects.ToList(); }); } } }