Esempio n. 1
0
 internal DbScriptManager(JobStepModel step, DbAggregatorManager dataProviderManager, NormalizedDictionary <object> parameters, LogManager logger)
 {
     Step = step;
     DataProviderManager = dataProviderManager;
     Parameters          = parameters;
     Logger = logger;
 }
Esempio n. 2
0
        /// <summary>
        ///		Ejecuta un paso
        /// </summary>
        protected override async Task <bool> ProcessStepAsync(List <JobContextModel> contexts, JobStepModel step, NormalizedDictionary <object> parameters,
                                                              CancellationToken cancellationToken)
        {
            bool processed = false;
            DbAggregatorManager dataProviderManager = GetProviderManager(contexts, step);

            // Procesa el paso
            using (BlockLogModel block = Logger.Default.CreateBlock(LogModel.LogType.Debug, $"Start execute step {step.Name}"))
            {
                if (string.IsNullOrEmpty(step.ScriptFileName) || !System.IO.File.Exists(step.ScriptFileName))
                {
                    block.Error($"Cant find the file {step.ScriptFileName}");
                }
                else
                {
                    DbScriptManager scriptManager = new DbScriptManager(step, dataProviderManager, parameters, Logger);

                    // Ejecuta el paso
                    if (System.IO.Path.GetExtension(step.ScriptFileName).EqualsIgnoreCase(".sql"))
                    {
                        processed = await scriptManager.ProcessBySqlScriptAsync(step.Target, step.ScriptFileName, cancellationToken);
                    }
                    else
                    {
                        processed = await scriptManager.ProcessByFileAsync(step.ScriptFileName, cancellationToken);
                    }
                }
            }
            // Devuelve el valor que indica si se ha procesado correctamente
            return(processed);
        }
Esempio n. 3
0
        /// <summary>
        ///		Obtiene e inicializa el controlador de proveedores de datos
        /// </summary>
        private DbAggregatorManager GetProviderManager(List <JobContextModel> contexts, JobStepModel job)
        {
            DbAggregatorManager providersManager = new DbAggregatorManager();
            NormalizedDictionary <DataBaseConnectionModel> connections = GetConnections(contexts, job);

            // Asign las conexiones al proveedor
            foreach ((string key, DataBaseConnectionModel connection) in connections.Enumerate())
            {
                DbAggregator.Models.ConnectionModel dbConnection = new DbAggregator.Models.ConnectionModel(key, connection.Type.ToString());

                // Añade los parámetros
                dbConnection.Parameters.AddRange(connection.Parameters);
                // Añade la conexión
                providersManager.AddConnection(dbConnection);
            }
            // Devuelve el agregado
            return(providersManager);
        }