/// <summary> /// Returns the list of failures. /// </summary> /// <returns></returns> public static List<Panne> GetAllFailures() { /* On déclare et on crée une instance des variables nécéssaires pour la recherche */ List<Panne> pannes = new List<Panne>(); Panne panne = new Panne(); try { string rslt = Helper.service.LoadFile("panne.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 = "//panne"; /* 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,"XMLFailureType.GetAllFailureTypes"); 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(); panne = new Panne(); panne.setId(Convert.ToInt32(Nodes.Current.GetAttribute("id", ""))); //System.Windows.Forms.MessageBox.Show("Attrib. " + Nodes.Current.GetAttribute("id", ""), "XMLFailureType.GetAllFailureTypes"); 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, "XMLFailureType.GetAllFailureTypes"); panne.setName(Nodes.Current.Value); //System.Windows.Forms.MessageBox.Show("libelle. " + Nodes.Current.Value, "XMLFailureType.GetAllFailureTypes"); Nodes.Current.MoveToNext(); // On se déplace sur le noeud suivant "Description" panne.setDescription(Nodes.Current.Value); Nodes.Current.MoveToNext(); // On se déplace sur le noeud suivant "FailureType" panne.setTypePanne(TypePanne.GetByID(Convert.ToInt32(Nodes.Current.Value))); pannes.Add(panne); tillCount++; Nodes.Current.MoveToParent(); } } /* Si aucun expert n'a été trouvé */ else { panne = 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 pannes; }
public void addPanne(Panne panne) { panne.setTypePanne(this); pannes.Add(panne); }
public void removePanne(Panne panne) { panne.setTypePanne(null); pannes.Remove(panne); }
public void removePanne(Panne panne) { panne.setTypePanne(null); pannes.Remove(panne); }
public void addPanne(Panne panne) { panne.setTypePanne(this); pannes.Add(panne); }