public ActionResult Team(int id) { var team = this.teamsService.GetTeamById(id); if (team == null) { return(HttpNotFound()); } //Only Senior(enum 4), Intermediate(enum 5), Junior(enum 6) and Trainee(enum 7) can be added and removed from team. var freeEmployees = this.employeesService .AllEmployees() .Where(e => e.Position > CompanyRoleType.TeamLeader && e.Team == null) .ToList(); var teamMembers = this.teamsService.GetTeamById(id) .Employees .Where(e => e.Position != CompanyRoleType.TeamLeader) .ToList(); var freeProjects = this.projectsService .AllProjects() .Where(p => p.Status == ProjectStatus.NotStarted) .ToList(); var manageTeamViewModel = new TeamManageInputModel { FreeMembers = this.employeesService.SelectListItemGenerator(freeEmployees), TeamMembers = this.employeesService.SelectListItemGenerator(teamMembers), FreeProjects = this.projectsService.SelectListItemGenerator(freeProjects) }; return(View(manageTeamViewModel)); }
public ActionResult Team(int id, TeamManageInputModel model) { if (!ModelState.IsValid) { return(View(model)); } var team = this.teamsService.GetTeamById(id); if (team == null) { return(HttpNotFound()); } this.teamsService.AddTeamMemebers(team, model.TeamMembersToAdd); this.teamsService.RemoveTeamMemebers(team, model.TeamMembersToRemove); var projectToAdd = this.projectsService.AllProjects().FirstOrDefault(p => p.Id == model.ProjectToAdd); this.teamsService.AddProjectToTeam(team, projectToAdd); return(RedirectToAction(Constants.Index, Constants.Teams)); }