/// <summary>
        ///		Exporta una tabla de datos a un archivo
        /// </summary>
        internal async Task <(bool exported, string error)> ExportAsync(LibLogger.Core.LogManager logManager, string fileName,
                                                                        DbDataReader reader, CancellationToken cancellationToken)
        {
            string error = string.Empty;

            // Exporta el archivo
            using (BlockLogModel block = logManager.Default.CreateBlock(LogModel.LogType.Info, $"Comienzo de grabación del archivo {fileName}"))
            {
                // Exporta el archivo
                try
                {
                    if (fileName.EndsWith(".csv", StringComparison.CurrentCultureIgnoreCase))
                    {
                        await ExportToCsvAsync(block, fileName, reader, cancellationToken);
                    }
                    else if (fileName.EndsWith(".parquet", StringComparison.CurrentCultureIgnoreCase))
                    {
                        await ExportToParquetAsync(block, fileName, reader, cancellationToken);
                    }
                    else
                    {
                        error = "No se reconoce la extensión del archivo";
                    }
                }
                catch (Exception exception)
                {
                    error = $"Error al grabar el archivo {fileName}. {exception.Message}";
                    block.Error(error, exception);
                }
                // Log
                block.Info($"Fin de grabación del archivo {fileName}");
                logManager.Flush();
            }
            // Devuelve el valor que indica si se ha exportado el archivo
            return(string.IsNullOrEmpty(error), error);
        }
 public DatabrickExporter(LibLogger.Core.LogManager logger, ExporterOptions options)
 {
     Logger  = logger;
     Options = options;
 }
Beispiel #3
0
 public JobRestManager(LibLogger.Core.LogManager logger) : base("RestManager")
 {
     Logger = logger;
 }
 public JobCloudManager(LibLogger.Core.LogManager logger) : base("CloudManager")
 {
     Logger = logger;
 }
Beispiel #5
0
 public JobDatabaseManager(LibLogger.Core.LogManager logger) : base("DbManager")
 {
     Logger = logger;
 }
Beispiel #6
0
 public JobPowershellManager(LibLogger.Core.LogManager logger) : base("PowershellManager")
 {
     Logger = logger;
 }
Beispiel #7
0
 internal JobXmlProjectManager(LibLogger.Core.LogManager logger)
 {
     Logger = logger;
 }
 public JobFileShellManager(LibLogger.Core.LogManager logger) : base("ShellManager")
 {
     Logger = logger;
 }