public async Task <IActionResult> TeamMembersAsync(int teamId)
        {
            var members = await GetAllTeamMembersAsync(teamId, new DisplayOptions { });

            if (members == null)
            {
                return(View("MembersError"));
            }

            var teams = await _manageTeamsService.GetMyTeamsAsync();

            var team = teams.FirstOrDefault(x => x.Id == teamId);

            if (team == null)
            {
                return(View("ErrorNotMember"));
            }

            var isOwner = false;

            if (await _accessCheckService.IsOwnerAsync(teamId))
            {
                isOwner = true;
            }

            var teamViewModel = TeamViewModel.Create(team, isOwner, new List <TeamMember>());

            return(View(teamViewModel));
        }
        public async Task <IActionResult> AddMemberAsync(int teamId)
        {
            var team = await _manageTeamsService.GetTeamAsync(teamId);

            var isOwner = false;

            if (await _accessCheckService.IsOwnerAsync(teamId))
            {
                isOwner = true;
            }

            var users = await _userManager.Users.ToListAsync();

            var allMembers = new List <TeamMember>();

            foreach (var user in users)
            {
                var member = Business.Models.User.Create(user.Id, user.UserName, user.FirstName, user.LastName);
                allMembers.Add(TeamMember.Create(user.Id, member));
            }

            var teamViewModel = TeamViewModel.Create(team, isOwner, allMembers);

            return(View(teamViewModel));
        }
        public async Task <IActionResult> GetMyTeamsAsync()
        {
            var teams = await _manageTeamsService.GetMyTeamsAsync();

            var teamViewsModels = new List <TeamViewModel>();

            foreach (var team in  teams)
            {
                var teamViewModel = TeamViewModel.Create(team, false, new List <TeamMember>());
                teamViewsModels.Add(teamViewModel);
            }

            return(View(teamViewsModels));
        }
        public static SprintAndTeamViewModel Create(Business.Models.Sprint currentSprint,
                                                    List <Business.Models.Sprint> sprints,
                                                    Business.Models.Team team,
                                                    bool isOwner,
                                                    List <Business.Models.MemberWorkingDays> memberWorkingDays)
        {
            var sprintViewModels            = new List <SprintViewModel>();
            var teamViewModel               = TeamViewModel.Create(team, isOwner, new List <Business.Models.TeamMember>());
            var memberWorkingDaysViewModels = new List <MemberWorkingDaysViewModel>();

            foreach (var sprint in sprints)
            {
                var sprintViewModel = SprintViewModel.Create(sprint, isOwner, 0);
                sprintViewModels.Add(sprintViewModel);
            }

            foreach (var memberWorkingDay in memberWorkingDays)
            {
                var memberWorkingDayViewModel = MemberWorkingDaysViewModel.Create(memberWorkingDay);
                memberWorkingDaysViewModels.Add(memberWorkingDayViewModel);
            }

            return(new SprintAndTeamViewModel(currentSprint, sprintViewModels, teamViewModel, memberWorkingDaysViewModels));
        }