// insere une activité a la liste d'act du jour
 public void ajouterActivite(ClassActivite act)
 {
     if (this.getStatut() == "futur")
     {
         Activites.Add(act);
     }
 }
        public Page_Activite(ClassActivite activite)
        {
            InitializeComponent();

            _activite = activite;

            DataContext = _activite; //référentiel pour Binding
        }
        // désérialisation de journeeDefaut
        private void load_journeeDefaut(XmlDocument doc)
        {
            _journeeDefaut = new ClassJour(this);

            XmlNodeList nl = doc.SelectNodes("/informations/journeeDefaut/activite");
            foreach (XmlNode node in nl)
            {
                ClassActivite activite = new ClassActivite();

                XmlAttribute xml_attr = node.Attributes["categorie"];
                activite.Categorie = xml_attr.Value;
                xml_attr = node.Attributes["nom"];
                activite.Categorie = activite.Categorie + " / " + xml_attr.Value;

                xml_attr = node.Attributes["hdebut"];
                activite.HeureDebut = double.Parse(xml_attr.Value);
                xml_attr = node.Attributes["hfin"];
                activite.HeureFin = double.Parse(xml_attr.Value);

                _journeeDefaut.ajouterActivite(activite);
            }
        }
        //désérialise planning.xml
        public void LoadPlanning()
        {
            XmlDocument xmlDoc = new XmlDocument();
            string path = "../../Data/planning.xml";
            try
            {
                xmlDoc.Load(path);
            }
            catch
            {
                string message = "Le fichier XML de sauvegarde n'a pas été trouvé dans le répertoire.";
                MessageBox.Show(message);
                return;
            }
            //récup tous les jours du planning
            XmlNodeList listJours = xmlDoc.SelectNodes("/Planning/Jour");

            //désérialise les 500 jours depuis planning.xml
            foreach (XmlNode nodeJour in listJours)
            {
                ClassJour jour = new ClassJour(this);

                XmlAttribute numJour = nodeJour.Attributes["numero"];
                int index = int.Parse(numJour.Value);

                //récup toutes les activites du jour correspondant à l'index courant
                XmlNodeList listActs = xmlDoc.SelectNodes("/Planning/Jour[@numero='" + index + "']/Activite");

                foreach (XmlNode nodeAct in listActs)
                {
                    ClassActivite activite = new ClassActivite();
                    activite.Date = jour;
                    activite.ListCategories = this.getActivites();

                    //récupère l'attribut categorie
                    XmlAttribute xml_attr = nodeAct.Attributes["categorie"];
                    //stocke sa valeur dans la propriété Categorie de l'objet
                    activite.Categorie = xml_attr.Value;

                    //idem pour le reste des attributs/propriétés
                    xml_attr = nodeAct.Attributes["hDebut"];
                    activite.HeureDebut = double.Parse(xml_attr.Value);
                    xml_attr = nodeAct.Attributes["hFin"];
                    activite.HeureFin = double.Parse(xml_attr.Value);
                    xml_attr = nodeAct.Attributes["astronautes"];
                    activite.Astronautes.Add(xml_attr.Value);    //decouper la chaine en substring si plusieurs astro
                    xml_attr = nodeAct.Attributes["lieu"];
                    activite.Lieu.setNom(xml_attr.Value);
                    xml_attr = nodeAct.Attributes["descriptif"];
                    activite.Descriptif = xml_attr.Value;
                    xml_attr = nodeAct.Attributes["sortieExt"];
                    if (xml_attr.Value == "true")
                        activite.SortieExt = true;
                    else
                        activite.SortieExt = false;

                    jour.ajouterActivite(activite);
                }

                XmlNode nodeCR = xmlDoc.SelectSingleNode("/Planning/Jour[@numero='" + index + "']/CompteRendu");
                if (nodeCR != null)
                {
                    ClassCompteRendu cr = new ClassCompteRendu(jour);

                    //récupère l'attribut titre
                    XmlAttribute xml_attr = nodeCR.Attributes["titre"];
                    //stocke sa valeur dans la propriété _titre de l'objet
                    cr._titre = xml_attr.Value;

                    //stocke le contenu de la balise dans la propriété _contenu
                    cr._contenu = nodeCR.InnerText;

                    jour.CompteRendu = cr;
                }

                _planning.Add(index, jour);
            }
        }
 public void supprActivite(ClassActivite act)
 {
     if (this.getStatut() == "futur")
     {
         Activites.Remove(act);
     }
 }