示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        /// <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
示例#4
0
 private void  MAJDict(
     string Cle,
     EntiteDocument Doc)
 {
     if (!Dictionnaire.ContainsKey(Cle))
     {
         Dictionnaire.Add(Cle, Doc);
     }
     else
     {
         if (Doc != null)
         {
             Dictionnaire[Cle] =
                 Doc;
         }
     }
     string d = "";
 }
示例#5
0
        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);
            }
        }
示例#6
0
        } // 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);
            }
        }
示例#7
0
        /// <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);
        }