public InviteUserToTeamViewModel CreateInviteUserToTeamViewModel(int teamId, User currentUser) { var team = db.Teams.Find(teamId); if (team == null || team.OwnerId != currentUser.Id) { return(null); } var currentUserRole = team.UserPermissions .Where(perm => perm.User == currentUser && perm.TeamId == teamId) .FirstOrDefault() .TeamRole; if (!currentUserRole.Permissions.CanInviteToTeam) { return(null); } var viewModel = new InviteUserToTeamViewModel() { TeamToInvite = team }; return(viewModel); }
public ActionResult InviteUser(int?teamId) { var teamToInvite = db.Teams.Find(teamId); InviteUserToTeamViewModel viewModel = new InviteUserToTeamViewModel() { TeamToInvite = teamToInvite }; return(View(viewModel)); }
public ActionResult InviteUser(InviteUserToTeamViewModel viewModel) { if (ModelState.IsValid) { var _teamId = viewModel.TeamToInvite.Id; var email = viewModel.EmailOfInvitedUser; string errorMessage = teamService.InviteUserToTeam(_teamId, email); if (errorMessage == "") { return(RedirectToAction("ManageTeam", new { teamId = _teamId })); } ViewBag.ErrorMessage = errorMessage; return(View(viewModel)); } return(View(viewModel)); }