public ActionResult ManageTeam(int ID = -1) { int userID = WebSecurity.GetUserId(User.Identity.Name); UserProfile user = repository .Users .FirstOrDefault(u => u.UserId == userID); if (user == null) { logger.Warn("User with id = " + userID + " not found"); throw new HttpException(404, "User with id = " + userID + " not found"); } Team team = repository.Teams.FirstOrDefault(t => t.TeamID == ID && t.Members.FirstOrDefault(up => up.UserID == userID && up.Confirm == 1) != null); if (team == null) { return(RedirectToAction("Team", new { Message = TeamMessageId.TeamNotExist })); } ManageTeamViewModel viewModel = new ManageTeamViewModel() { TeamID = team.TeamID, Name = team.Name, Members = team.Members }; return(View(viewModel)); }
//Team Administrator must be able to manage Team members and their roles public ActionResult ManageTeam(int?teamId) { var context = new ApplicationDbContext(); var currentUserId = User.Identity.GetUserId(); var currentUser = db.Users .Where(user => user.AppId == currentUserId) .FirstOrDefault(); var team = db.Teams .Where(t => t.Id == teamId) .FirstOrDefault(); if (team == null) { return(HttpNotFound()); } //team. if (currentUser.Id != team.OwnerId) { return(HttpNotFound()); } ManageTeamViewModel viewModel = new ManageTeamViewModel() { TeamId = team.Id, TeamUsers = team.Users, UserPermissions = team.UserPermissions }; return(View(viewModel)); }
public ActionResult ManageTeam(int?teamId) { var currentUser = GetCurrentUser(); if (!teamService.TeamExists((int)teamId)) { return(HttpNotFound()); } if (currentUser.Id != teamService.GetTeamOwnerId((int)teamId)) { return(HttpNotFound()); } ManageTeamViewModel viewModel = teamService.CreateManageTeamViewModel((int)teamId); return(View(viewModel)); }
public ManageTeamViewModel CreateManageTeamViewModel(int teamId) { var team = db.Teams.Find(teamId); var teamMembers = team.Users; var viewModel = new ManageTeamViewModel() { Team = team, TeamMembers = new List <TeamMemberInfo>() }; foreach (var teamMember in teamMembers) { if (teamMember.Id == team.OwnerId) { continue; } var teamRole = team.UserPermissions .Where(permission => permission.User == teamMember && permission.TeamId == team.Id) .FirstOrDefault().TeamRole; var availableTeamRoles = db.TeamRoles .Where(role => role.Name != TEAM_OWNER_ROLE_NAME). ToList(); var selectListForAvailableTeamRoles = new SelectList(availableTeamRoles, "Id", "Name", teamRole.Id); var memberInfo = new TeamMemberInfo() { TeamMember = teamMember, TeamRole = teamRole, AvailableTeamRoles = selectListForAvailableTeamRoles }; viewModel.TeamMembers.Add(memberInfo); } return(viewModel); }