/// <summary> /// Genera los archivos de contenido /// </summary> private void GenerateFilesContent(DocumentFileModelCollection objColAllDocuments, DocumentFileModelCollection objColDocuments) { foreach (DocumentFileModel objDocument in objColDocuments) { TemplateModel objTemplate = Templates.Search(objDocument.StructType); // Genera la documentación del archivo if (objTemplate == null) { AddError(objDocument, "No se encuentra ninguna plantilla para este tipo de estructura"); } else { try { Generators.TemplateDocumentGenerator objGenerator = new Generators.TemplateDocumentGenerator(Project, this, objTemplate, objDocument, UrlBaseDocuments, objColAllDocuments); objGenerator.Process(); } catch (Exception objException) { AddError(objDocument, $"Error al generar el documento. {objException.Message}"); } } // Genera los documentos hijo GenerateFilesContent(objColAllDocuments, objDocument.Childs); } }
/// <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); }