Esempio n. 1
0
        /// <summary>
        ///		Ejecuta el proyecto
        /// </summary>
        private async Task ExecuteProjectAsync(BlockLogModel block, string project, string context, CancellationToken cancellationToken)
        {
            JobProjectManager manager = new JobProjectManager(Logger);

            // Añade los procesadores
            manager.AddProcessor(new LibJobProcessor.Cloud.JobCloudManager(Logger));
            manager.AddProcessor(new LibJobProcessor.Database.JobDatabaseManager(Logger));
            manager.AddProcessor(new LibJobProcessor.FilesShell.JobFileShellManager(Logger));
            manager.AddProcessor(new LibJobProcessor.Rest.JobRestManager(Logger));
            // Ejecuta el proyecto
            await manager.ProcessAsync(project, context, cancellationToken);

            // Asigna los errores
            if (manager.Errors.Count == 0)
            {
                block.Info("La ejecución del proyecto ha terminado correctamente");
            }
            else
            {
                string errorTotal = "Error en la ejecución del proyecto";

                // Añade los errores
                foreach (string error in manager.Errors)
                {
                    if (!string.IsNullOrWhiteSpace(error))
                    {
                        errorTotal += Environment.NewLine + error.Trim();
                    }
                }
                // Lanza el mensaje de error
                block.Error(errorTotal);
            }
        }
Esempio n. 2
0
        /// <summary>
        ///		Crea el manager de los procesos
        /// </summary>
        private static JobProjectManager CreateManager()
        {
            JobProjectManager manager = new JobProjectManager(Logger);

            // Añade los procesadores
            manager.AddProcessor(new Libraries.LibJobProcessor.Cloud.JobCloudManager(Logger));
            manager.AddProcessor(new Libraries.LibJobProcessor.Database.JobDatabaseManager(Logger));
            manager.AddProcessor(new Libraries.LibJobProcessor.Powershell.JobPowershellManager(Logger));
            manager.AddProcessor(new Libraries.LibJobProcessor.FilesShell.JobFileShellManager(Logger));
            // Devuelve el manager de proyecto
            return(manager);
        }