Exemple #1
0
        public async Task <IActionResult> OnGetAsync(int?teamid)
        {
            if (!teamid.HasValue)
            {
                return(LocalRedirect("/User/Teams/List"));
            }

            TeamId = teamid.Value;
            if (_signInManager.IsSignedIn(User))
            {
                string identityId = _signInManager.UserManager.GetUserId(User);
                var    userInfo   = await _userInformation.GetUserProfileInformationAsync(identityId);

                CanJoinTeam = await _teamManager.CanJoinTeam(TeamId, userInfo.ProfileId);

                CanInviteMembers = await _teamManager.IsMemberOfTeam(TeamId, userInfo.ProfileId);
            }
            else
            {
                CanJoinTeam = false;
            }


            TeamInformation = await _teamManager.GetTeamInformation(TeamId, false);

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (!_invitations.TryVerifyToken(id, out var key))
            {
                return(NotFound());
            }

            if (_signInManager.IsSignedIn(User))
            {
                return(RedirectToPage("/TeamInfo", new { teamid = _teamManager.GetTeamId(key.TeamGuid) }));
            }

            MemberInformation = await _teamManager.GetTeamMemberProfileInformation(key.SenderId);

            TeamInformation = await _teamManager.GetTeamInformation(key.TeamGuid, false);

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync(int?teamid)
        {
            if (!teamid.HasValue)
            {
                return(LocalRedirect("/User/Teams/List"));
            }

            TeamId = teamid.Value;
            string identityId = _signInManager.UserManager.GetUserId(User);
            var    userInfo   = await _userInformation.GetUserProfileInformationAsync(identityId);

            if (!await CanEditTeam(userInfo.ProfileId))
            {
                return(NotFound());
            }

            ProfileId = userInfo.ProfileId;

            TeamInformation = await _teamManager.GetTeamInformation(TeamId);

            return(Page());
        }
Exemple #4
0
        public async Task <TeamInformationDto> GetTeamInformation(Guid teamGuid, bool getKickedMembers)
        {
            var team = await _teamService.Queryable()
                       .Include(x => x.AllowedOccupations)
                       .ThenInclude(x => x.Occupation)
                       .SingleAsync(x => x.Identity == teamGuid);

            await _teamService.LoadRelatedEntities(team);

            var teamPledgedMiles = await _teamService.GetTeamMilesPledged(team.Id);

            var teamCompletedMiles = _teamService.GetTeamMilesCompleted(team.Id);

            var totalMilesCompleted = teamCompletedMiles.Sum(x => x.Miles);
            var totalMilesPledged   = teamPledgedMiles.Sum(x => x.Miles);

            List <string> occupations = team.OccupationFilter
                ? team.AllowedOccupations.Select(o => o.Occupation.Name).ToList()
                : new List <string> {
                "All"
            };

            var result = new TeamInformationDto
            {
                TeamName            = team.Name,
                DateCreated         = team.Created,
                Description         = team.ShortDescription,
                IsClosed            = team.IsClosed,
                Occupations         = occupations,
                TotalMilesCompleted = totalMilesCompleted,
                TotalMilesPledged   = totalMilesPledged,
                TeamMembers         = await GetTeamMembers(team.Id, getKickedMembers)
            };

            return(result);
        }