@implements IDisposable; @inject IAgileService AgileService; @inject DatabaseContext Database; @layout PageLayout @page "/agile" @if (AgileService.IsLoaded()) { Agile
@foreach (var sprint in AgileService.SprintModels.OrderBy(e => e.EndDate).Reverse()) {
@sprint.Name
Start: @sprint.StartDate.Value.ToString("dd/MM/yyyy")
End: @sprint.EndDate.Value.ToString("dd/MM/yyyy")
}
Backlog
What is Agile? Agile is a work methodology for determing task assignment and release deadlines.

My agile practice will be creating tasks in a backlog. Assigning them to weekly sprints. And completing all tasks in the allotted time frame.

Any unfinished tasks are moved into the next sprint, or the sprint will be extended by a week.
} else { } @code { [Parameter] public DbSet Sprints { get; set; } [Parameter] public DbSet Tasks { get; set; } private readonly List backlog = new(); protected override void OnInitialized() { AgileService.Subscribe(HasChanged); } void IDisposable.Dispose() { AgileService.Unsubscribe(HasChanged); } void HasChanged() { Sprints = AgileService.SprintModels; Tasks = AgileService.TaskModels; backlog.Clear(); foreach (var task in Tasks) { if (task.SprintModelId == null) { backlog.Add(task); } } StateHasChanged(); } protected override async Task OnInitializedAsync() { await AgileService.Load(Database); } }