BinaryStudio.TaskManager.Web.Controllers.ProjectController.InviteOrDeleteUser C# (CSharp) Method

InviteOrDeleteUser() public method

The invite or delete user.
public InviteOrDeleteUser ( int projectId ) : System.Web.Mvc.ActionResult
projectId int /// The project id. ///
return System.Web.Mvc.ActionResult
        public ActionResult InviteOrDeleteUser(int projectId)
        {
            var currentUser = this.userProcessor.GetUserByName(User.Identity.Name);
            var listWithCurrentUser = new List<User> { currentUser };
            var users = this.userProcessor.GetAllUsers();
            users = users.Except(listWithCurrentUser);

            var invitationsToProject = this.projectProcessor.GetAllInvitationsToProject(projectId).Where(x => x.IsInvitationConfirmed == false && x.Sender == currentUser);

            //var invitationsToProject = this.projectProcessor.GetAllInvitationsToProject(ProjectId).Where(x => x.IsInvitationConfirmed == false);

            var listAlreadyInvited = invitationsToProject.Select(invitation => invitation.Receiver).ToList();

            var collaborators = this.projectProcessor.GetAllUsersInProject(projectId);
            var listToInvite = users.Except(collaborators).Except(listAlreadyInvited);
            var model = new ProjectCollaboratorsViewModel { Collaborators = collaborators, PossibleCollaborators = listToInvite, AlreadyInvited = listAlreadyInvited, ProjectId = projectId };
            return this.View(model);
        }