示例#1
0
 /// <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);
         }
     }
 }
示例#2
0
        /// <summary>
        /// Sauvegarde les ajout et suppression de tâche dans la base de donnée.
        /// </summary>
        private void Save()
        {
            // Si les listes de taches à modifier sont vides, informer l'utilisateur que rien n'est à faire.
            if (!ListSuppTasks.Any() && ListEmployeeWithAddedTasks.Sum(e => e.ListTask.Count) == 0)
            {
                MessageBox.Show("Aucune modification à sauvegarder.");
                return;
            }

            // Sinon demander confirmation pour l'enregistrement
            var res = MessageBox.Show("Souhaitez-vous sauvegarder les modifications?", "Enregistrer?", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);

            if (res == MessageBoxResult.Yes)
            {
                try
                {
                    DAL.UpdateDatabaseTaskListOfEmployee(ListEmployeeWithAddedTasks, ListSuppTasks);
                    //foreach (var task in ListEmployeeWithAddedTasks.Where(e => e.Login == SelectedEmployee.Login).FirstOrDefault().ListTask)
                    //{
                    //    VMMain.CurrentEmployee.ListTask.Add(task);
                    //}
                    foreach (var id in ListSuppTasks)
                    {
                        VMMain.CurrentEmployee.ListTask.Remove(SelectedEmployee.ListTask.Where(t => t.Id == id).FirstOrDefault());
                    }
                    MessageBox.Show("La sauvegarde a bien été effectuée.");
                    ListEmployeeWithAddedTasks.ForEach(e => e.ListTask.Clear());
                    ListSuppTasks.Clear();
                }
                catch (SqlException e)
                {
                    MessageBox.Show("La sauvegarde a échoué.", "Echec", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation);
                }
            }
        }
示例#3
0
        /// <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);
                    }
                }
            }
        }