Beispiel #1
0
        public async Task <IActionResult> AssignUserToTeam(AssignUserToTeamInputModel input)
        {
            var user = await this.userManager.FindByIdAsync(input.UserId);

            if (user == null)
            {
                return(this.BadRequest());
            }

            if (!await this.teamsService.CheckIfTeamExistsAsync(input.TeamId))
            {
                return(this.BadRequest());
            }

            var roles = await this.userManager.GetRolesAsync(user);

            if (roles.Contains(GlobalConstants.AdministratorRoleName) || roles.Contains(GlobalConstants.TeamMemberRoleName))
            {
                return(this.BadRequest());
            }

            await this.userManager.AddToRoleAsync(user, GlobalConstants.TeamMemberRoleName);

            await this.userManager.RemoveFromRoleAsync(user, GlobalConstants.ClientRoleName);

            await this.usersService.AssignUserToTeam(input.UserId, input.TeamId);

            return(this.Redirect("/"));
        }
Beispiel #2
0
        public async Task <IActionResult> AssignUserToTeam(string id)
        {
            var user = await this.userManager.FindByIdAsync(id);

            if (user == null)
            {
                return(this.BadRequest());
            }

            var roles = await this.userManager.GetRolesAsync(user);

            if (roles.Contains(GlobalConstants.AdministratorRoleName) || roles.Contains(GlobalConstants.TeamMemberRoleName))
            {
                return(this.BadRequest());
            }

            var teams = (await this.teamsService.GetAll <AssignUserToTeamTeamViewModel>()).ToList();
            var model = new AssignUserToTeamInputModel()
            {
                Username = user.UserName,
                UserId   = user.Id,
                Teams    = teams
                           .Select(t => new SelectListItem()
                {
                    Value = t.Id,
                    Text  = t.Name,
                }),
            };

            return(this.View(model));
        }