Example #1
0
        /*[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));
        }
Example #2
0
        // 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));
        }
Example #3
0
        // 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));
        }
Example #4
0
        // 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));
        }