Practice ยท 4 of 4
Milestone 4 โ Reporting Pipelines
LINQ over the store (all inputs are TaskItem lists; no mutation):
``csharp
public static class Solution
{
// "P<projectId>:<openCount>:<doneCount>" ordered by projectId ascending
public static System.Collections.Generic.List<string> Progress(
System.Collections.Generic.IReadOnlyList<TaskItem> tasks);
// ids of open (not Done) tasks of the given priority, highest priority
// first, ties by id ascending
public static System.Collections.Generic.List<int> Backlog(
System.Collections.Generic.IReadOnlyList<TaskItem> tasks, Priority priority);
// assigneeId -> count of their open tasks; unassigned (null) tasks are
// excluded; absent assignees simply do not appear
public static System.Collections.Generic.Dictionary<int, int> Workload(
System.Collections.Generic.IReadOnlyList<TaskItem> tasks);
}
`
Provided types: TaskItem, Priority, Status`.
Back to lesson: Practice: Capstone Milestones: Domain to Engine