/*[ProjectManagerRequired]*/ // GET: Task/Edit/5 public ActionResult Edit(int id) { TaskService repoTask = new TaskService(); CD.Task task = repoTask.Get(id); TaskStateService repoTaskState = new TaskStateService(); IEnumerable <CD.Task> tasks = repoTask.GetByProjectId(task.ProjectId); IEnumerable <CD.Task> taskHierarchy = repoTask.GetSubHierarchy(id); IEnumerable <CD.Task> taskList = tasks.Except(taskHierarchy, new IdComparer <CD.Task>()); TaskEditForm taskEdit = new TaskEditForm( task, repoTaskState.GetByTaskId(id), taskList, repoTaskState.Get() ); return(View(taskEdit)); }
// GET: Task/Details/5 public ActionResult Details(int id) { TaskService repoTask = new TaskService(); TaskStateService repoTaskState = new TaskStateService(); ProjectService repoProject = new ProjectService(); TeamService repoTeam = new TeamService(); EmployeeService repoEmployee = new EmployeeService(); DocumentService repoDoc = new DocumentService(); M.TaskWithState task = new M.TaskWithState(repoTask.Get(id), repoTaskState.GetByTaskId(id)); M.CurrentOn currentOn = (task.TaskTeam)?new M.CurrentOn(repoTeam.GetByTaskId(id)):new M.CurrentOn(repoEmployee.GetByTaskId(id)); M.TaskWithState mainTask = null; if (task.MainTaskId != null) { mainTask = new M.TaskWithState(repoTask.GetMainTask(id), repoTaskState.GetByTaskId((int)task.MainTaskId)); } IEnumerable <CD.Task> subTasks = repoTask.GetSubHierarchy(id); List <TaskListItem> finalSubList = new List <TaskListItem>(); foreach (CD.Task t in subTasks) { if (t.Id != id) { M.CurrentOn currentOnSubTask = (t.TaskTeam)?new M.CurrentOn(repoTeam.GetByTaskId(t.Id)):new M.CurrentOn(repoEmployee.GetByTaskId(t.Id)); TaskListItem tl = new TaskListItem(new M.TaskWithState(t, repoTaskState.GetByTaskId(t.Id)), currentOnSubTask); finalSubList.Add(tl); } } MessageService repoMessage = new MessageService(); IEnumerable <SubjectListItem> subjects = repoMessage.GetTaskMessages(id).Select(m => new SubjectListItem(new M.Message(m), new M.Message(repoMessage.GetLastMessage(m.Id)))); IEnumerable <DocumentList> docs = repoDoc.GetByTask(id).Select(d => new DocumentList(d)); TaskDetail taskDetail = new TaskDetail( task, currentOn, repoProject.Get(task.ProjectId).Name, mainTask, finalSubList, subjects, docs); return(View(taskDetail)); }
// GET: Project/Details/5 public ActionResult Details(int id) { ProjectService projrepo = new ProjectService(); EmployeeService repemp = new EmployeeService(); CD.Project project = projrepo.Get(id); TaskService repoTask = new TaskService(); TaskStateService repoTS = new TaskStateService(); TeamService teamrepo = new TeamService(); MessageService repoMessage = new MessageService(); DocumentService repoDoc = new DocumentService(); IEnumerable <CD.Task> tasks = repoTask.GetByProjectId(id); /*--------------Possible mainTasks.groupJoin(tasks) pour arboresence?... * IEnumerable<Task> mainTasks = tasks.Where(t => t.MainTaskId == null);*/ List <TaskListItem> taskList = new List <TaskListItem>(); foreach (CD.Task t in tasks) { M.CurrentOn currentOn = (t.TaskTeam)?new M.CurrentOn(teamrepo.GetByTaskId(t.Id)):new M.CurrentOn(repemp.GetByTaskId(t.Id)); TaskListItem taskListItem = new TaskListItem(new M.TaskWithState(t, repoTS.GetByTaskId(t.Id)), currentOn); taskList.Add(taskListItem); } IEnumerable <CD.Team> teams = teamrepo.GetByProjectId(id);//prendre un iEINumeralbe de team qui correspond à l'ensemble des equipes, faisant partie d'un seul et même projet /*List<TeamList> tfinalList = new List<TeamList>();// on créer une liste vide de teamlist * foreach (Team t in teams)//Pour chaque equipe de notre ennsemble d'equipe faisant partie d'un mememe et seul projet * { * EmployeeService employeeRepo = new EmployeeService();// on demande les methodes de l'employee * TeamList teamList = new TeamList(t, employeeRepo.Get(t.TeamManagerId));// on créer une team list à partir de l'equipe et de son teamManager * * tfinalList.Add(teamList);//ajouter le teamList crée à notre liste de teamlist * } la boucl au dessus a été resumé en Linq sur la ligne qui suit*/ List <TeamListItem> tfinalList = teams.Select(team => new TeamListItem(team, repemp.Get(team.TeamManagerId))).ToList(); IEnumerable <SubjectListItem> subjects = repoMessage.GetProjectMessages(id).Select(m => new SubjectListItem(new Models.Message(m), new Models.Message(repoMessage.GetLastMessage(m.Id)))); IEnumerable <DocumentList> docs = repoDoc.GetByProject(id).Select(d => new DocumentList(d)); ProjectDetail proj = new ProjectDetail(project, repemp.Get(project.ProjectManager), tfinalList, taskList, subjects, docs); return(View(proj)); }
// GET: Task/Index/6 6=> Numéro du project public ActionResult Index(int id) { TaskService repoTask = new TaskService(); IEnumerable <CD.Task> Tasks = repoTask.GetByProjectId(id); List <TaskListItem> finalTaskList = new List <TaskListItem>(); foreach (CD.Task task in Tasks) { TaskStateService repoTS = new TaskStateService(); TaskListItem taskList = null; if (task.TaskTeam) { taskList = new TaskListItem(task, repoTS.GetByTaskId(task.Id)); } else { taskList = new TaskListItem(task, repoTS.GetByTaskId(task.Id)); } finalTaskList.Add(taskList); } return(View(finalTaskList)); }