/// <summary> /// Sube un texto /// </summary> internal void UploadText(string text) { string fileName = GetFileName("output.txt", true); // Graba el archivo HelperFiles.SaveTextFile(fileName, text); // ... y lo sube if (IsUrl(Manager.UrlDownload)) { UploadFile(Manager.UrlDownload.GetUrl(), fileName); HelperFiles.KillFile(fileName); } }
/// <summary> /// Descarga un archivo /// </summary> private void DownloadFile(Uri url, string fileTarget) { if (url != null) { WebClient webClient = new WebClient(); // Elimina el archivo antiguo HelperFiles.KillFile(fileTarget); // Descarga el archivo try { webClient.DownloadFile(url, fileTarget); } catch {} } }
/// <summary> /// Compila el contenido del libro /// </summary> private void Compile(Book book, string pathTemp, string title, string description, string keyWords, string content, string pathTarget) { DocWriterFactory writerFactory = new DocWriterFactory(pathTarget); ProjectModel project = writerFactory.CreateProject(); DocumentModel documentRoot; // Crea el documento raíz documentRoot = CreateRoot(title, description, keyWords, content, writerFactory); // Crea los documentos de las páginas foreach (IndexItem page in book.Index) { CreatePage(title, pathTemp, writerFactory, documentRoot, page); } // Crea el índice y graba de nuevo el documento raíz documentRoot.Content += Environment.NewLine + GetIndex(project, documentRoot); new LibDocWriter.Application.Bussiness.Documents.DocumentBussiness().Save(documentRoot); // Copia las imágenes CopyImages(book, pathTemp, documentRoot.File.FullFileName); // Borra el archivo de proyecto y el archivo de solución HelperFiles.KillFile(project.File.FullFileName); HelperFiles.KillFile(project.Solution.FullFileName); }
/// <summary> /// Procesa el informe /// </summary> private void ProcessReport(ScriptModel script, string fileName) { ReportManager manager = new ReportManager(GetDataProviders(Deployment)); string fileParsed = Path.Combine(Deployment.PathFilesTarget, Path.GetFileNameWithoutExtension(fileName) + ".generated"); // Log RaiseMessage($"Procesando el informe {Path.GetFileName(fileName)}"); // Procesa el informe manager.GenerateByFile(fileName, fileParsed, GetParameters(Deployment.Parameters, script.Parameters)); // Añade los errores if (manager.Errors.Count > 0) { foreach (string error in manager.Errors) { RaiseEvent(fileName, error, 0, 0, true); } } else { RenderFile(fileParsed, fileName); } // Elimina el archivo intermedio HelperFiles.KillFile(fileParsed); }
/// <summary> /// Copia un archivo /// </summary> private void CopyFile(string fileSource, string fileTarget) { HelperFiles.KillFile(fileTarget); HelperFiles.CopyFile(fileSource, fileTarget); }