Exemplo n.º 1
0
        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);
        }