public Project AddProject(Project project) { ProjectRepository projRepo = new ProjectRepository(); ProjectRoleRepository projRoleRepo = new ProjectRoleRepository(); RoleRepository roleRepo = new RoleRepository(); Project addedProj = projRepo.Create(project); int ManagerId = roleRepo.GetAll().Where(x => x.RoleName == "Project Manager").Select(c => c.Id).SingleOrDefault(); int CurrentUserId = GetMyUser().Id; // Make the user who added the project, a project manager projRoleRepo.Create(new ProjectRole { ProjectId = addedProj.Id, RoleId = ManagerId, UserId = CurrentUserId }); return addedProj; }
public IList<User> GetAssignedUsersByProject(Project proj) { ProjectRoleRepository projRoleRepo = new ProjectRoleRepository(); RoleRepository roleRepo = new RoleRepository(); Role projMgr = roleRepo.GetAll().Where(p => p.RoleName == "Project Manager").SingleOrDefault(); return projRoleRepo.GetAll().Where(p => p.Project.Id == proj.Id && p.Role.Id != projMgr.Id) .Select(p => p.User).Distinct().ToList(); }
public IList<Project> GetProjectsManagedBy(User user) { ProjectRoleRepository projRoleRepo = new ProjectRoleRepository(); RoleRepository roleRepo = new RoleRepository(); Role manager = roleRepo.GetAll().Where(r => r.RoleName == "Project Manager").SingleOrDefault(); return projRoleRepo.GetAll().Where(p => p.User.Id == user.Id && p.Role.Id == manager.Id).Select(c => c.Project).Distinct().ToList(); }
public IList<Role> GetAllRoles() { RoleRepository roleRepo = new RoleRepository(); return roleRepo.GetAll(); }