public async Task <IActionResult> Backlog(string projectId = null, string teamId = null) { var ensuredProjectId = GetProjectIdOrDefault(projectId); var ensuredTeamId = GetTeamIdOrDefault(teamId); var setting = await _workApi.GetSetting(ensuredProjectId, ensuredTeamId); var backlogIterationId = Convert.ToString(setting.BacklogIteration?.Id); var redirectUrl = Url.WorkIteration(ensuredProjectId, ensuredTeamId, backlogIterationId); return(Redirect(redirectUrl)); }
public async Task <Iteration> GetWorkIteration(string projectId, string teamId, string iterationId) { var iterationTask = _iterationsApi.Get(projectId, teamId, iterationId); var settingTask = _workApi.GetSetting(projectId, teamId); var teamMembersTask = _teamsApi.GetAllTeamMembers(); await Task.WhenAll(iterationTask, settingTask, teamMembersTask); var iteration = iterationTask.Result; var setting = settingTask.Result; var teamMembers = teamMembersTask.Result.Value.ToList(); var isBacklog = iteration.Id == setting.BacklogIteration?.Id; var capacities = !isBacklog ? await _iterationsApi.GetCapacities(projectId, teamId, iterationId) : new IterationCapacityListApiResponse(); var workItems = await GetWorkIterationWorkItems(projectId, iteration.Path, isBacklog); var result = new Iteration(workItems, teamMembers, iteration, capacities, isBacklog); return(result); }