/// <summary> /// Ajoute la tâche marquée à supprimer dans une liste de tâche qui seront supprimer lors de l'appel de la méthode Save. /// </summary> private void SuppTask() { if (CurrentTask != null && CurrentTask.TotalWorkingTime == 0) { if (ListEmployeeWithAddedTasks.Where(e => e.Login == SelectedEmployee.Login).FirstOrDefault().ListTask.Where(t => t.Id == CurrentTask.Id).Any()) { // Si la tâche à supprimé était déjà présente dans la liste (elle a été ajouté pendant la session courrante) alors on la supprime de la liste des tâches modifiées. ListEmployeeWithAddedTasks.Where(e => e.Login == SelectedEmployee.Login).FirstOrDefault(). ListTask.Remove(CurrentTask); } else { ListSuppTasks.Add(CurrentTask.Id); } ListEmployee.Where(e => e.Login == SelectedEmployee.Login).FirstOrDefault(). ListTask.Remove(CurrentTask); if (CurrentTask is TaskProd) { ListTaskProd.Remove((TaskProd)CurrentTask); } else { ListTaskAnnex.Remove(CurrentTask); } } }
/// <summary> /// Ajoute les tâches créée dans la fenêtre de création de tâche dans une liste de tâche à créer qui seront ajouter lors de l'appel de la méthode Save. /// </summary> private void AddTask() { UpdatedEmployee = new Employee() { Login = SelectedEmployee.Login, ListTask = new ObservableCollection <Entity.Task>(), Job = SelectedEmployee.Job }; var inputBox = new View.AddTaskWindow(new VMAddTask(UpdatedEmployee, SelectedEmployee)); inputBox.ShowDialog(); if (ListEmployeeWithAddedTasks.Where(e => e.Login == UpdatedEmployee.Login).Count() == 0) { ListEmployeeWithAddedTasks.Add(UpdatedEmployee); } else { foreach (var task in UpdatedEmployee.ListTask) { ListEmployeeWithAddedTasks.Where(e => e.Login == UpdatedEmployee.Login).FirstOrDefault().ListTask.Add(task); ListEmployee.Where(e => e.Login == SelectedEmployee.Login).First().ListTask.Add(task); if (task is TaskProd) { ;// ListTaskProd.Add((TaskProd)task); } else { ListTaskAnnex.Add(task); } } } }