private void SaveModification() { // Si les listes de taches à modifier sont vides, informer l'utilisateur que rien n'est à faire. if (!ListTaskToAddOrDelete.Any()) { 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.UpdateDatabaseWorkTimeOfTaskList(ListTaskToAddOrDelete); ListTaskToAddOrDelete = new List <Entity.Task>(); MessageBox.Show("La sauvegarde a bien été effectuée."); } catch (SqlException) { MessageBox.Show("La sauvegarde a échoué.", "Echec", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation); } } }
private void DeleteWorkTime() { //Ajout du temps de travail à supprimer à la liste listTask avec une //productivité de -1 pour la différencier des tâches à modifier var listWorkTime = new System.Collections.ObjectModel.ObservableCollection <WorkTime>(); CurrentWorkTime.Productivity = -1; listWorkTime.Add(CurrentWorkTime); ListTaskToAddOrDelete.Add(new Entity.Task { Id = CurrentTask.Id, ListWorkTime = listWorkTime }); CurrentTask.ListWorkTime.Remove(CurrentWorkTime); }
private void ValidateWorkTime() { //Recherche tous les temps de travail pour la date du temps de travail courant var listWorktime = new List <WorkTime>(); foreach (var item in CurrentEmployee.ListTask) { foreach (var ite in item.ListWorkTime) { if (ite.WorkingDate.ToShortDateString() == CurrentWorkTime.WorkingDate.ToShortDateString()) { listWorktime.Add(ite); } } } // En mode édition vérifie si la date existe pour la tâche courante et si le total d'heure pour cette date ne dépasse pas 8h if (CurrentModeEdition == EditionModes.Edition) { if (!(CurrentTask.ListWorkTime.Select(c => c.WorkingDate.ToShortDateString()).Contains(CurrentWorkTime.WorkingDate.ToShortDateString())) && listWorktime.Sum(c => c.Hours) + CurrentWorkTime.Hours <= 8) { if (ListTaskToAddOrDelete.Where(c => c.Id == CurrentTask.Id).FirstOrDefault() != null && ListTaskToAddOrDelete.Where(c => c.Id == CurrentTask.Id).FirstOrDefault().ListWorkTime.Where(b => b.WorkingDate.ToShortDateString() == CurrentWorkTime.WorkingDate.ToShortDateString()).Any()) { var worktime = ListTaskToAddOrDelete.Where(c => c.Id == CurrentTask.Id).First().ListWorkTime.Where(b => b.WorkingDate.ToShortDateString() == CurrentWorkTime.WorkingDate.ToShortDateString()).First(); worktime.Productivity = CurrentWorkTime.Productivity; worktime.Hours = CurrentWorkTime.Hours; CurrentTask.ListWorkTime.Add(CurrentWorkTime); } else { CurrentTask.ListWorkTime.Add(CurrentWorkTime); var listTask = new System.Collections.ObjectModel.ObservableCollection <WorkTime>(); listTask.Add(CurrentWorkTime); ListTaskToAddOrDelete.Add(new Entity.Task { Id = CurrentTask.Id, ListWorkTime = listTask }); } CurrentModeEdition = EditionModes.Consultation; } else { MessageBox.Show("La date existe déjà ou le nombre d'heures dépasse 8."); } } // En mode modification vérifie si le total d'heure pour cette date ne dépasse pas 8h else { if (listWorktime.Sum(c => c.Hours) <= 8) { var listTask = new System.Collections.ObjectModel.ObservableCollection <WorkTime>(); listTask.Add(CurrentWorkTime); ListTaskToAddOrDelete.Add(new Entity.Task { Id = CurrentTask.Id, ListWorkTime = listTask }); CurrentModeEdition = EditionModes.Consultation; } else { MessageBox.Show("La date existe déjà ou le nombre d'heures dépasse 8."); } } }