Ejemplo n.º 1
0
        //Lecture XML et génération objets
        public void chargerXml(XmlDocument xmlDoc, Mission M)
        {
            XmlNodeList nodelistCalendrier = xmlDoc.GetElementsByTagName("Calendrier_Martien");  //On crée une liste de tous les éléments dans tout le document qui portent le nom de Calendrier_Martien

            CalendrierMartien c = new CalendrierMartien();

            foreach (XmlNode nodeCalendrier in nodelistCalendrier)  //Pour tout les noeuds présents dans notre liste d'élements (ici on a juste un élément)
            {
                c.Debut = DateTime.Parse(nodeCalendrier.SelectSingleNode("Début").InnerText);  //La date de début du calendrier est égale à ce qui est contenu dans le seul noeud portant le nom début
                c.Fin = DateTime.Parse(nodeCalendrier.SelectSingleNode("Fin").InnerText);
                c.Last= DateTime.Parse(nodeCalendrier.SelectSingleNode("Last").InnerText);
                c.Day = int.Parse(nodeCalendrier.SelectSingleNode("Jour").InnerText);
                c.Heure = int.Parse(nodeCalendrier.SelectSingleNode("Heure").InnerText);
                c.Minute = int.Parse(nodeCalendrier.SelectSingleNode("Minute").InnerText);
                c.Seconde = int.Parse(nodeCalendrier.SelectSingleNode("Seconde").InnerText);

                XmlNodeList nodelistJours = nodeCalendrier.SelectNodes("Liste_Jour");
                foreach (XmlNode nodeJour in nodelistJours)
                {
                    XmlNodeList nodelistJour = nodeJour.SelectNodes("Jour");
                    foreach (XmlNode jour in nodelistJour)
                    {
                        string CompteRendu = "";
                        int num = 0;
                        bool[] tabHoraires = new bool[148];

                        Jour j = new Jour(CompteRendu, num, tabHoraires);

                        j.CompteRendu = jour.SelectSingleNode("Compte_Rendu").InnerText;
                        j.Numero = int.Parse(jour.SelectSingleNode("Numéro").InnerText);
                        j.Sortie = bool.Parse(jour.SelectSingleNode("Sortie").InnerText);

                        List<Activite> listeActivites = new List<Activite>();

                        XmlNodeList nodelistActivite = jour.SelectNodes("Liste_Activité");
                        foreach (XmlNode nodeActivite in nodelistActivite)
                        {
                            XmlNodeList nodelisteActivite = nodeActivite.SelectNodes("Activité");

                            foreach (XmlNode Activite in nodelisteActivite)
                            {
                                Heure debut = new Heure(0, 0);
                                Heure fin = new Heure(0, 0);
                                Lieu gps = new Lieu();
                                List<Astronaute> listAstronaute = new List<Astronaute>();

                                Activite a = new Activite("");

                                a.Nom = Activite.SelectSingleNode("Nom").InnerText;
                                debut.Heures = int.Parse(Activite.SelectSingleNode("Heure_Debut").InnerText);
                                fin.Heures = int.Parse(Activite.SelectSingleNode("Heure_Fin").InnerText);
                                debut.Minutes = int.Parse(Activite.SelectSingleNode("Minute_Debut").InnerText);
                                fin.Minutes = int.Parse(Activite.SelectSingleNode("Minute_Fin").InnerText);

                                a.Debut = new Heure(debut.Heures, debut.Minutes);
                                a.Fin = new Heure(fin.Heures, fin.Minutes);

                                gps = Lieu.Parse(Activite.SelectSingleNode("Lieu"));
                                a.Gps = gps;

                                List<Astronaute> listAstr = new List<Astronaute>();

                                XmlNodeList nodelistAstronaute = Activite.SelectNodes("Liste_Astronaute");
                                foreach (XmlNode nodeAstronaute in nodelistAstronaute)
                                {
                                    string nomAst = "";
                                    int id = 0;
                                    XmlNodeList nodeAstronautee = nodeAstronaute.SelectNodes("Astronaute");
                                    foreach (XmlNode nodeAstro in nodeAstronautee)
                                    {
                                        id = int.Parse(nodeAstro.SelectSingleNode("Id").InnerText);
                                        nomAst = nodeAstro.SelectSingleNode("Nom").InnerText;
                                        Astronaute ast = new Astronaute(id, nomAst);
                                        listAstr.Add(ast);
                                    }
                                }
                                a.ListAstronaute = listAstr;
                                a.TexteDescriptif = Activite.SelectSingleNode("Texte_Descriptif").InnerText;
                                listeActivites.Add(a);
                            }
                        }

                        j.ListeActivites = listeActivites;

                            XmlNodeList nodelistTabHoraire = jour.SelectNodes("Tableau_Horaire");
                            foreach (XmlNode nodeListeLibre in nodelistTabHoraire)
                            {
                                XmlNodeList nodelistLibre = nodeListeLibre.SelectNodes("Libre");
                                int i = 0;
                                foreach (XmlNode nodeLibre in nodelistLibre)
                                {
                                    tabHoraires[i] = bool.Parse(nodeLibre.InnerText);
                                    i++;
                                }
                            }

                            j.TabHoraires = tabHoraires;

                        c.Jours.Add(j);
                    }
                }
            }
            M.Calendar = c;
        }
Ejemplo n.º 2
0
 public void RemoveAstronaute(Astronaute a)
 {
     _listAstronaute.Remove(a);
 }
Ejemplo n.º 3
0
 public void AddAstronaute(Astronaute a)
 {
     _listAstronaute.Add(a);
 }
Ejemplo n.º 4
0
        // lecture xml et generation objets
        public void chargerXml(XmlDocument xmlDoc, Mission M)
        {
            XmlNodeList nodelistMission = xmlDoc.GetElementsByTagName("Mission");

            List<Astronaute> listAstronautes = new List<Astronaute>();
            List<CategorieActivite> listCategorieActivite = new List<CategorieActivite>();

            foreach (XmlNode nodeMission in nodelistMission)
            {

                XmlNodeList nodelistAstronautes = nodeMission.SelectNodes("Liste_Astronaute");
                foreach (XmlNode nodeAstronautes in nodelistAstronautes)
                {
                    XmlNodeList nodelistAstronaute = xmlDoc.GetElementsByTagName("Astronaute");

                    string nom = "";
                    int id = 0;

                    foreach (XmlNode nodeAstronaute in nodelistAstronaute)
                    {
                        id = int.Parse(nodeAstronaute.SelectSingleNode("Id").InnerText);
                        nom = nodeAstronaute.SelectSingleNode("Nom").InnerText;
                        Astronaute a = new Astronaute(id, nom);
                        M._listAstronautes.Add(a);
                    }
                }

                XmlNodeList nodelistCategorieActivite = nodeMission.SelectNodes("Liste_Catégorie_Activité");
                foreach (XmlNode nodeCategorieActivite in nodelistCategorieActivite)
                {
                    XmlNodeList nodelisteCategorieActivite = nodeCategorieActivite.SelectNodes("Catégorie_Activité");

                    foreach (XmlNode nodeCategoriedActivite in nodelisteCategorieActivite)
                    {
                        string nom = "";

                        List<Activite> listActivite = new List<Activite>();

                        nom = nodeCategoriedActivite.SelectSingleNode("NomCatégorie").InnerText;

                        XmlNodeList nodelistActivite = nodeCategoriedActivite.SelectNodes("Liste_Activité");
                        foreach (XmlNode nodeActivite in nodelistActivite)
                        {
                            string nome = "";

                            XmlNodeList nodelisteActivite = nodeActivite.SelectNodes("Activité");
                            foreach (XmlNode nodeActivitee in nodelisteActivite)
                            {
                                nome = nodeActivitee.SelectSingleNode("NomActivité").InnerText;
                                Activite act = new Activite(nome);
                                listActivite.Add(act);
                            }

                        }

                        CategorieActivite c = new CategorieActivite(nom, listActivite);
                        M.AddCategorie(c);
                    }
                }
            }

            M.Listcat = Listcat;
        }