Ejemplo n.º 1
0
        /// <summary>
        ///		Procesa la generación de documentación de un programa
        /// </summary>
        internal DocumentFileModelCollection Process(ProgramModel objProgram)
        {
            NameSpaceGroupModelCollection objColGroups    = new Prepare.NameSpaceGroupGenerator().Generate(objProgram);
            DocumentFileModelCollection   objColDocuments = new DocumentFileModelCollection();

            // Carga las plantillas
            Templates = new Repository.Templates.TemplateRepository().Load(DocumentationProcessor.Parameters.TemplateFileName);
            // Crea los documentos
            foreach (NameSpaceGroupModel objGroup in objColGroups)
            {
                if (Templates.MustGenerateFile(objGroup, DocumentationProcessor.Parameters))
                {
                    DocumentFileModel objDocument = new DocumentFileModel(null, objGroup.NameSpace, 0);

                    // Procesa la estructura del lenguaje
                    if (objGroup.NameSpace != null)
                    {
                        Generate(objGroup.NameSpace, objDocument);
                    }
                    else
                    {
                        objDocument.Name = objGroup.Name;
                    }
                    // Añade el documento a la colección
                    objColDocuments.Add(objDocument);
                }
            }
            // Graba los documentos
            ProcessDocuments(objColDocuments);
            // Devuelve los documentos
            return(objColDocuments);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///		Genera los archivos de índice
        /// </summary>
        private DocumentFileModelCollection GenerateFilesIndex(DocumentFileModelCollection documents)
        {
            DocumentFileModelCollection filesIndex = new DocumentFileModelCollection();

            // Recorre las plantillas generando los archivos de índice
            foreach (TemplateModel template in Templates)
            {
                if (template.Type == TemplateModel.TemplateType.Index)
                {
                    try
                    {
                        DocumentFileModel fullDocument = documents.Compact(template.Name);

                        // Procesa el documento
                        new Generators.TemplateDocumentGenerator(Project, this, template, fullDocument, UrlBaseDocuments,
                                                                 documents).Process();
                        // ... y lo añade a la colección de índices
                        filesIndex.Add(fullDocument);
                    }
                    catch (Exception exception)
                    {
                        AddError($"Error al generar el documento de índice de la plantilla {template.RelativeFileName}. {exception.Message}");
                    }
                }
            }
            // Devuelve la colección de índices
            return(filesIndex);
        }
Ejemplo n.º 3
0
        /// <summary>
        ///		Genera los archivos de índice
        /// </summary>
        private DocumentFileModelCollection GenerateFilesIndex(DocumentFileModelCollection objColDocuments)
        {
            DocumentFileModelCollection objColFilesIndex = new DocumentFileModelCollection();

            // Recorre las plantillas generando los archivos de índice
            foreach (TemplateModel objTemplate in Templates)
            {
                if (objTemplate.IDType == TemplateModel.TemplateType.Index)
                {
                    try
                    { DocumentFileModel objFullDocument = objColDocuments.Compact(objTemplate.Name);
                      Generators.TemplateDocumentGenerator objGenerator = new Generators.TemplateDocumentGenerator(Project, this, objTemplate,
                                                                                                                   objFullDocument, UrlBaseDocuments,
                                                                                                                   objColDocuments);

                      // Procesa el documento
                      objGenerator.Process();
                      // ... y lo añade a la colección de índices
                      objColFilesIndex.Add(objFullDocument); }
                    catch (Exception objException)
                    { AddError($"Error al generar el documento de índice de la plantilla {objTemplate.RelativeFileName}. {objException.Message}"); }
                }
            }
            // Devuelve la colección de índices
            return(objColFilesIndex);
        }
Ejemplo n.º 4
0
        /// <summary>
        ///		Procesa la generación de documentos
        /// </summary>
        internal void Process(StructDocumentationModelCollection structDocs)
        {
            DocumentFileModelCollection documents = new DocumentFileModelCollection();

            // Carga las plantillas
            Templates = new Repository.Templates.TemplateRepository().Load(Project.TemplatePath);
            // Crea los documentos
            foreach (StructDocumentationModel structDoc in structDocs)
            {
                if (Templates.MustGenerateFile(structDoc, Project.GenerationParameters))
                {
                    DocumentFileModel document = new DocumentFileModel(null, structDoc, 0);

                    // Procesa la estructura del lenguaje
                    Generate(structDoc, document);
                    // Añade el documento a la colección
                    documents.Add(document);
                }
            }
            // Graba los documentos
            ProcessDocuments(documents);
        }