예제 #1
0
        /// <summary>
        /// Ajoute ou supprime des tâches annexes dans la base de données
        /// </summary>
        /// <param name="obj"></param>
        private void EnregistrerTachesAnnexes(object obj)
        {
            // On récupère l'employé courant
            var empCourant = (Personne)CollectionViewSource.GetDefaultView(Personnes).CurrentItem;

            // Liste des tâches annexes de départ (soit avant toute modification)
            var listPers = DALTache.RecupererPersonnesTachesAnnexes(_usercourant);

            DALTache.RecupererPersonnesTachesAnnexesEtendues(listPers);
            var listTachesDépart = listPers.Where(p => p.CodePersonne == empCourant.CodePersonne).FirstOrDefault().TachesAnnexes;

            // On compare la liste actuelle des tâches annexes de l'employé à celle de départ
            // Cela permet de détecter les changements effectués par l'utilisateur.
            foreach (var t in empCourant.TachesAnnexes)
            {
                // Assignation de départ de la tâche annexes courante
                var assignationDépart = listTachesDépart.Where(a => a.CodeActivite == t.CodeActivite).FirstOrDefault().Assignation;

                // On ajoute ou supprime une tâche annexe si l'assignation associée change de valeur
                if (t.Assignation != assignationDépart)
                {
                    if (t.Assignation)
                    {
                        try
                        {
                            DALTache.AjouterTacheAnnexe(empCourant.CodePersonne, t);                        // Ajout
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Erreur");
                        }
                    }
                    else
                    {
                        try
                        {
                            DALTache.SupprimerTacheAnnexe(empCourant.CodePersonne, t.CodeActivite);         // Suppression
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Erreur");
                        }
                    }
                }
            }
        }
예제 #2
0
        public VMTachesAnnexes()
        {
            // Récupération du statut manager de la personne connecté
            // True = la personne connectée est manager
            StatutManager = Properties.Settings.Default.Manager;

            // Récupération du code de l'utilisateur courant
            _usercourant = Properties.Settings.Default.CodeDernierUtilisateur;

            // Récupération de la liste des personnes avec leurs tâches annexes
            _listPers = DALTache.RecupererPersonnesTachesAnnexes(_usercourant);

            // Récupération de la liste des personnes avec leurs tâches annexes étendues
            // On se sert du booléen Assignation pour savoir si l'activité annexe est affectée ou non à l'employé
            DALTache.RecupererPersonnesTachesAnnexesEtendues(_listPers);

            Personnes = new ObservableCollection <Personne>(_listPers);
        }