private void AjouterDictionnaire( XElement NoeudDict) { string monDebug = ""; EntiteDocument Courant = new EntiteDocument(); Courant = TraiterNoeud(NoeudDict); string FullName = ""; for (int i = 0; i < (Courant.NombreNiveaux() - 1); i++) { if (i == 0) { FullName = Courant.Niveau(i); } else { FullName += "." + Courant.Niveau(i); } MAJDict(FullName, null); } MAJDict(Courant.Nom, Courant); }
private void MAJDictParent( EntiteDocument Enfant) { string CleParent = Enfant.NomParent(); if (string.IsNullOrEmpty(CleParent)) { return; } EntiteDocument Parent = Dictionnaire[CleParent]; if (string.IsNullOrEmpty( Parent.Information)) { throw new Exception( "Erreur de logicque dans la programmation, l'entrée de dictionnnaire " + CleParent + " n'a pas son information initialisée avec le gabarit interne html"); } // faire le travail string InfoEnfant = HHêlper.CreerRangee( HHêlper.ConstruireLien( Enfant.NomFichier, Enfant.Nom), Enfant.Sommaire); Parent.Information = HHêlper.ConstruireHTML( Parent.Information, "{{Rangee}}", InfoEnfant); MAJDict(CleParent, Parent); }
/// <summary> /// Construit une EntiteDocument à /// partir d'un noeud xml /// </summary> /// <param name="Noeud">Noeud contenant l'information</param> /// <returns>L'entité document construite</returns> internal EntiteDocument TraiterNoeud( XElement NoeudATraiter) { string Temp = ""; EntiteDocument Resultat = new EntiteDocument(); if (NoeudATraiter != null) { try { if ((string )NoeudATraiter.Attribute("name") == null) { throw new Exception("L'attribut 'name' est absent du xml "); } Temp = (string)NoeudATraiter.Attribute("name"); if (Temp != null) { Resultat.Nom = Temp; } if (string.IsNullOrEmpty(Resultat.Nom)) { throw new Exception("Le nom n'as pas été trouvé"); } Resultat.Sommaire = (string )NoeudATraiter.Element( "summary"); } catch (Exception ex) { throw new Exception("Le xml semble ne pas avoir la bonne structure :" + Environment.NewLine + NoeudATraiter.ToString() + Environment.NewLine + "Exception originale " + ex.ToString()); } } // if // traiter la balise returns Resultat.Retour = (string)NoeudATraiter.Element( "returns"); // traiter les balises parameter Resultat.Parametres = ExtraireParametres(NoeudATraiter); return(Resultat); } // methode
private void MAJDict( string Cle, EntiteDocument Doc) { if (!Dictionnaire.ContainsKey(Cle)) { Dictionnaire.Add(Cle, Doc); } else { if (Doc != null) { Dictionnaire[Cle] = Doc; } } string d = ""; }
private void PublierTout() { EntiteDocument Courant = new EntiteDocument(); List <String> Cles = new List <string>(Dictionnaire.Keys); Cles.Sort(); foreach (var cle in Cles) { Courant = GetEntiteDoc(cle); Courant.Information = HHêlper.MenageHTNL(Courant.Information); Publier(Courant.NomFichier, cle, Courant.Information); } }
} // methode private void TraiterDictionnaire() { EntiteDocument Temp = new EntiteDocument(); List <String> Cles = new List <string>(Dictionnaire.Keys); Cles.Sort(); foreach (var cle in Cles) { Dictionnaire.TryGetValue(cle, out Temp); if (Temp == null) { Temp = new EntiteDocument(cle); } TraiterItem(ref Temp); MAJDict(cle, Temp); MAJDictParent(Temp); } }
/// <summary> /// Crée le html et le mnom de fichier /// </summary> /// <param name="ItemATraiter"></param> private void TraiterItem( ref EntiteDocument ItemATraiter) { // Initialiser les propriétés vides if (ItemATraiter == null) { throw new Exception( "Le noeud à traiter n'existe pas car il est à null"); } if (ItemATraiter.Information == "") { ItemATraiter.Information = HHêlper.GabaritInterne(); } if (string.IsNullOrEmpty(ItemATraiter.NomFichier)) { ItemATraiter.NomFichier = NormaliserNomFichier( ItemATraiter.Nom); } // Construire le html // traiter sommaire ItemATraiter.Information = HHêlper.AjouterSommmaire( ItemATraiter.Information, ItemATraiter.Sommaire); ItemATraiter.Information = HHêlper.AjouterRetour( ItemATraiter.Information, ItemATraiter.Retour); ItemATraiter.Information = HHêlper.AjouterParms( ItemATraiter.Information, ItemATraiter.Parametres); }