示例#1
0
        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);
                }
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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.");
                }
            }
        }