コード例 #1
0
        /// <summary>
        /// Returns the list of the procedures.
        /// </summary>
        /// <returns></returns>
        public static List<Procedure> GetAllProcedures()
        {
            /* On déclare et on crée une instance des variables nécéssaires pour la recherche */
            List<Procedure> procedures = new List<Procedure>();
            Procedure procedure = new Procedure();
            try
            {
                string rslt = Helper.service.LoadFile("procedure.xml").ToString();

                StreamWriter sw = new StreamWriter(System.Windows.Forms.Application.StartupPath + "\\temp.xml");
                sw.Write(rslt);
                sw.Close();

                //XPathDocument XPathDocu = new XPathDocument((Stream)Helper.service.LoadFile("Experts.xml"));
                XPathDocument XPathDocu = new XPathDocument(System.Windows.Forms.Application.StartupPath + "\\temp.xml");
                XPathNavigator Navigator;
                XPathNodeIterator Nodes;
                /* On affecte false à  la
                /* On crée un navigateur */
                Navigator = XPathDocu.CreateNavigator();

                string ExpXPath = "//procedure";
                /* On lance la recherche */
                Nodes = Navigator.Select(Navigator.Compile(ExpXPath));
                /* On vérifie si la recherche a été fructueuse */
                //System.Windows.Forms.MessageBox.Show("Node.count. "+Nodes.Count,"XMLProcedure.GetAllProcedures");
                if (Nodes.Count != 0)
                {
                    // NOTE: Necéssaire pour se placer sur le noeud recherché
                    /* Encodage des données dans la classe Etape */

                    int tillCount = 0;
                    while (tillCount < Nodes.Count)
                    {
                        Nodes.MoveNext();
                        procedure = new Procedure();
                        procedure.setId(Convert.ToInt32(Nodes.Current.GetAttribute("id", "")));
                        //System.Windows.Forms.MessageBox.Show("Attrib. " + Nodes.Current.GetAttribute("id", ""), "XMLProcedure.GetAllProcedures");
                        Nodes.Current.MoveToFirstChild(); /* On se déplace sur le premier noeud
                                                   * enfant "Libelle" */
                        //System.Windows.Forms.MessageBox.Show("Current: " + Nodes.Current.Name + "    Current.Value " + Nodes.Current.Value, "XMLProcedure.GetAllProcedures");
                        procedure.setName(Nodes.Current.Value);
                        //System.Windows.Forms.MessageBox.Show("libelle. " + Nodes.Current.Value, "XMLProcedure.GetAllProcedures");
                        Nodes.Current.MoveToNext(); // On se déplace sur le noeud suivant "Description"
                        //System.Windows.Forms.MessageBox.Show("Description. " + Nodes.Current.Value, "XMLProcedure.GetAllProcedures");
                        procedure.setDescription(Nodes.Current.Value);
                        //System.Windows.Forms.MessageBox.Show("Type.Description. " +type.getDescription() , "XMLProcedure.GetAllProcedures");
                        Nodes.Current.MoveToNext(); // On se déplace sur le noeud suivant "Failure"
                        procedure.setPanne(Panne.GetByID(Convert.ToInt32(Nodes.Current.Value)));
                        procedures.Add(procedure);
                        tillCount++;
                        Nodes.Current.MoveToParent();
                    }
                }
                /* Si aucun expert n'a été trouvé */
                else
                {
                    procedure = null;
                }
            }
            catch (System.IO.FileNotFoundException x) { }catch (Exception x)
            {
                //System.Windows.Forms.MessageBox.Show(x.ToString());
            }
            /* Renvoi de toutes les données dans une instance de la classe "etape" */
            return procedures;
        }
コード例 #2
0
        public static Procedure GetById(int id)
        {
            /* On déclare et on crée une instance des variables nécéssaires pour la recherche */
            Procedure procedure = new Procedure();
            try
            {
                string rslt = Helper.service.LoadFile("procedure.xml").ToString();

                StreamWriter sw = new StreamWriter(System.Windows.Forms.Application.StartupPath + "\\temp.xml");
                sw.Write(rslt);
                sw.Close();

                //XPathDocument XPathDocu = new XPathDocument((Stream)Helper.service.LoadFile("Experts.xml"));
                XPathDocument XPathDocu = new XPathDocument(System.Windows.Forms.Application.StartupPath + "\\temp.xml");

                XPathNavigator Navigator;
                XPathNodeIterator Nodes;
                /* On affecte false à  la
                /* On crée un navigateur */
                Navigator = XPathDocu.CreateNavigator();

                string ExpXPath = "//procedure[@id='" + id + "']";
                /* On lance la recherche */
                Nodes = Navigator.Select(Navigator.Compile(ExpXPath));
                /* On vérifie si la recherche a été fructueuse */
                if (Nodes.Count != 0)
                {
                    Nodes.MoveNext(); // NOTE: Necéssaire pour se placer sur le noeud recherché
                    /* Encodage des données dans la classe Etape */
                    procedure.setId(id);
                    Nodes.Current.MoveToFirstChild(); /* On se déplace sur le premier noeud
                                                   * enfant "Libelle" */
                    procedure.setName(Nodes.Current.Value);
                    Nodes.Current.MoveToNext(); // On se déplace sur le noeud suivant "Description"
                    procedure.setDescription(Nodes.Current.Value);
                    Nodes.Current.MoveToNext();// On se déplace sur le noeud suivant "type_panne"
                    procedure.setPanne(XMLFailure.GetById(Convert.ToInt32(Nodes.Current.Value)));
                }
                /* Si aucun expert n'a été trouvé */
                else
                {
                    procedure = null;
                }
            }
            catch (System.IO.FileNotFoundException x) { }catch (Exception x)
            {
                //System.Windows.Forms.MessageBox.Show(x.ToString());
            }
            /* Renvoi de toutes les données dans une instance de la classe "etape" */
            return procedure;
        }