Exemplo n.º 1
0
        /// <summary>
        /// fonction qui permet d'enregistrer les tâches
        /// </summary>
        /// <param name="taches">Liste des taches du projet ouvert</param>
        private void EnregistrerTache(ObservableCollection<VOTache> taches)
        {
            taches.Clear();
            // On affecte à chaque tache du projetCourant les taches du ViewModel
            foreach (var tache in listeTachesViewModel)
            {
                VOTache tacheVO = new VOTache();
                tacheVO.Identifiant = tache.Identifiant;
                tacheVO.PrioriteDeLaTache = tache.PrioriteSelect.Texte;
                tacheVO.Titre = tache.Titre;
                tacheVO.ListeCategoriesTache = tache.ListeCategoriesTache;
                taches.Add(tacheVO);
            }
            Menu.ProjetOuvert.Personnes.Clear();
            foreach (var personne in Menu.Personnes)
            {
                if (personne.Nom != null)
                {
                    VOPersonne personneVO = new VOPersonne();
                    personneVO.Nom = personne.Nom;
                    Menu.ProjetOuvert.Personnes.Add(personneVO);
                }
            }

            Menu.ProjetOuvert.Categories.Clear();
            foreach (var categorie in Menu.ListeCategoriesMenuVM)
            {
                VOCategorie cat = new VOCategorie() { Nom = categorie.NomCategorie };
                Menu.ProjetOuvert.Categories.Add(cat);
            }

            // Nettoyage de la liste des VOCategories pour chaque taches
            foreach (var tacheVO in Menu.ProjetOuvert.ListeDesTaches)
            {
                tacheVO.ListeCategoriesTache.Clear();
            }

            // Reconstruction des categories validées par taches
            foreach (var tache in this.listeTachesViewModel)
            {
                foreach (var categorie in tache.CategoriesProjet)
                {
                    if (categorie.Check)
                    {
                        foreach (var tacheVO in Menu.ProjetOuvert.ListeDesTaches)
                        {
                            if (tacheVO.Titre==tache.Titre)
                            {
                                tacheVO.ListeCategoriesTache.Add(categorie.Nom);
                            }
                        }
                    }
                }
            }

            foreach (var personnes in taches)
            {
                personnes.ListePersonnesXml = new ObservableCollection<string>();
                foreach (var personneTache in listeTachesViewModel)
                {
                    if (personnes.Titre == personneTache.Titre)
                    {
                        if (personneTache.ListePersonnesXml == null || personneTache.ListePersonnesXml.Count == 0)
                        {
                            personneTache.ListePersonnesXml = new ObservableCollection<string>();
                        }
                        else
                        {
                            personnes.ListePersonnesXml = personneTache.ListePersonnesXml;
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Constructeur
 /// </summary>
 /// <param name="categorie">VOCategorie</param>
 public CategoriesMenuViewModel(VOCategorie categorie)
 {
     Categorie = categorie;
     NomCategorie = categorie.Nom;
 }