Esempio n. 1
0
        /// <summary>
        /// View a team as an admin (will automatically grab the team of the logged in user)
        /// </summary>
        public ActionResult TeamAdmin()
        {
            // TODO: get the currently logged in user
            string loggedInGitUser = _loginUser.GetCurrentUserGithub();

            if (string.IsNullOrEmpty(loggedInGitUser))
            {
                // redirect to login page
                return(Redirect("/Login"));
            }
            else
            {
                var userTeam = _teamsRepository.GetMyTeam(loggedInGitUser);

                if (userTeam == null)
                {
                    return(Redirect("/AssignTeam"));
                }

                // get team details
                var userTeamBuilt = _teamsRepository.GetTeamFromItem(userTeam);
                var viewModel     = new TeamAdminViewModel()
                {
                    Team             = userTeamBuilt,
                    SecretJoinString = userTeamBuilt.Slug
                };
                return(View(viewModel));
            }
        }
        public bool Execute(IList <IViewModel> fields)
        {
            var teamName        = fields.GetFieldValue("TeamName");
            var teamDescription = fields.GetFieldValue("TeamDescription");
            var loginUser       = new LoginUser();
            var githubUsername  = loginUser.GetCurrentUserGithub();

            if (!string.IsNullOrEmpty(teamName) && !string.IsNullOrEmpty(teamDescription) && !string.IsNullOrEmpty(githubUsername))
            {
                var teamsRepo = new TeamsRepository();

                var newTeamItem = teamsRepo.CreateHackathonTeam(teamName, teamDescription, githubUsername);

                if (newTeamItem != null)
                {
                    return(true);
                }
            }

            return(false);
        }
        public bool Execute(IList <IViewModel> fields)
        {
            var teamJoinCode    = fields.GetFieldValue("TeamJoinCode");
            var loginUser       = new LoginUser();
            var loggedInProfile = loginUser.GetCurrentUserProfile();
            var githubUsername  = loginUser.GetCurrentUserGithub();

            if (!string.IsNullOrEmpty(teamJoinCode) && !string.IsNullOrEmpty(githubUsername))
            {
                var teamsRepo = new TeamsRepository();

                var teamMember = teamsRepo.JoinHackathonTeam(loggedInProfile.FullName, "", loggedInProfile.Email, githubUsername, teamJoinCode);

                if (teamMember != null)
                {
                    return(true);
                }
            }

            return(false);
        }