public async Task <IActionResult> Assign(
            int cid, JuryAssignModel model,
            [FromServices] UserManager userManager)
        {
            var user = await userManager.FindByNameAsync(model.UserName);

            if (user == null)
            {
                StatusMessage = "Error user not found.";
            }
            else
            {
                var result = await userManager.AddToRoleAsync(user, $"JuryOfContest{cid}");

                if (result.Succeeded)
                {
                    StatusMessage = $"Jury role of user {user.UserName} assigned.";
                    await HttpContext.AuditAsync("assigned jury", $"{user.Id}", $"c{cid}");
                }
                else
                {
                    StatusMessage = "Error " + string.Join('\n', result.Errors.Select(e => e.Description));
                }
            }

            return(RedirectToAction(nameof(Home)));
        }
Exemple #2
0
        public async Task <IActionResult> Assign(JuryAssignModel model)
        {
            var user = await UserManager.FindByNameAsync(model.UserName);

            if (user == null)
            {
                DisplayMessage = "Error user not found.";
            }
            else
            {
                var result = await UserManager
                             .AddToRoleAsync(user, "JuryOfContest" + Contest.ContestId);

                if (result.Succeeded)
                {
                    DisplayMessage = $"Jury role of user {user.UserName} assigned.";
                }
                else
                {
                    DisplayMessage = "Error " + string.Join('\n', result.Errors.Select(e => e.Description));
                }
            }

            return(RedirectToAction(nameof(Home), new { cid = Contest.ContestId }));
        }
Exemple #3
0
        public async Task <IActionResult> Attach(int teamid, JuryAssignModel model)
        {
            var team = await Context.FindTeamByIdAsync(teamid);

            if (team == null)
            {
                return(NotFound());
            }

            var user = await UserManager.FindByNameAsync(model.UserName);

            if (user == null)
            {
                StatusMessage = $"Error user {model.UserName} does not exist!";
                return(RedirectToAction(nameof(Detail)));
            }

            var member = await Context.FindMemberByUserAsync(user.Id);

            if (member != null)
            {
                StatusMessage = $"Error user {model.UserName} is attached to team {member.TeamId}.";
                return(RedirectToAction(nameof(Detail)));
            }

            await Context.AttachMemberAsync(team, user, false);

            StatusMessage = $"User {user.Id} attached successfully.";
            return(RedirectToAction(nameof(Detail)));
        }
Exemple #4
0
        public async Task <IActionResult> Assign(JuryAssignModel model)
        {
            var user = await UserManager.FindByNameAsync(model.UserName);

            if (!Jury.ValidValues.Contains(model.Level))
            {
                return(BadRequest());
            }

            if (user == null)
            {
                StatusMessage = "Error user not found.";
            }
            else
            {
                await Context.AssignJuryAsync(user, model.Level);

                await HttpContext.AuditAsync("assigned jury", $"{user.Id}");
            }

            return(RedirectToAction(nameof(Home)));
        }