public async Task <kCura.EventHandler.Response> ExecuteAsync() { var response = new kCura.EventHandler.Response { Success = true, Message = string.Empty }; try { Logger.LogDebug(Constant.Names.ApplicationName + " - [{@this}] Creating tables...", this); //Create the Export Utility Job Manager queue table if it doesn't already exist Logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Export Utility Job Manager queue table if it doesn't already exist."); await SqlQueryHelper.CreateExportManagerQueueTableAsync(DbContextEdds); Logger.LogDebug($"{Constant.Names.ApplicationName} - Created Export Utility Job Manager queue table if it doesn't already exist."); //Create the Export Utility Job Worker queue table if it doesn't already exist Logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Export Utility Job Worker queue table if it doesn't already exist."); await SqlQueryHelper.CreateExportWorkerQueueTableAsync(DbContextEdds); Logger.LogDebug($"{Constant.Names.ApplicationName} - Created Export Utility Job Worker queue table if it doesn't already exist."); //Create the Export Utility Job Error log table if it doesn't already exist Logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Export Utility Job Error Log table if it doesn't already exist."); await SqlQueryHelper.CreateExportErrorLogTableAsync(DbContextEdds); Logger.LogDebug($"{Constant.Names.ApplicationName} - Created Export Utility Job Error Log table if it doesn't already exist."); //Create the Import Utility Job Manager queue table if it doesn't already exist Logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Import Utility Job Manager queue table if it doesn't already exist."); await SqlQueryHelper.CreateImportManagerQueueTableAsync(DbContextEdds); Logger.LogDebug($"{Constant.Names.ApplicationName} - Created Import Utility Job Manager queue table if it doesn't already exist."); //Create the Import Utility Job Worker queue table if it doesn't already exist Logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Import Utility Job Worker queue table if it doesn't already exist."); await SqlQueryHelper.CreateImportWorkerQueueTableAsync(DbContextEdds); Logger.LogDebug($"{Constant.Names.ApplicationName} - Created Import Utility Job Worker queue table if it doesn't already exist."); //Create the Import Utility Job Error log table if it doesn't already exist Logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Import Utility Job Error Log table if it doesn't already exist."); await SqlQueryHelper.CreateImportErrorLogTableAsync(DbContextEdds); Logger.LogDebug($"{Constant.Names.ApplicationName} - Created Import Utility Job Error Log table if it doesn't already exist."); Logger.LogDebug(Constant.Names.ApplicationName + " - [{@this}] Created tables successfully...", this); } catch (AdminMigrationUtilityException ex) { var message = ex.Message + " : " + (ex.InnerException?.Message ?? "None"); Logger.LogError($"{Constant.Names.ApplicationName} - Post-Install failed. {message}"); response.Success = false; response.Message = $"Post-Install table creation(s) failed with message: {ex.Message}"; throw new AdminMigrationUtilityException(ex.Message); } return(response); }
public async Task <kCura.EventHandler.Response> ExecuteAsync() { return(await Task.Run(() => { _logger = Helper.GetLoggerFactory().GetLogger(); var response = new kCura.EventHandler.Response { Success = true, Message = String.Empty }; var sqlQueryHelper = new SqlQueryHelper(); //Create the Export Utility Job Manager queue table if it doesn't already exist _logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Export Utility Job Manager queue table if it doesn't already exist"); var exportManagerTableTask = sqlQueryHelper.CreateExportManagerQueueTableAsync(Helper.GetDBContext(-1)); _logger.LogDebug($"{Constant.Names.ApplicationName} - Created Export Utility Job Manager queue table if it doesn't already exist"); //Create the Export Utility Job Worker queue table if it doesn't already exist _logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Export Utility Job Worker queue table if it doesn't already exist"); var exportWorkerTableTask = sqlQueryHelper.CreateExportWorkerQueueTableAsync(Helper.GetDBContext(-1)); _logger.LogDebug($"{Constant.Names.ApplicationName} - Created Export Utility Job Worker queue table if it doesn't already exist"); //Create the Export Utility Job Error log table if it doesn't already exist _logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Export Utility Job Error Log table if it doesn't already exist"); var exportErrorLogTableTask = sqlQueryHelper.CreateExportErrorLogTableAsync(Helper.GetDBContext(-1)); _logger.LogDebug($"{Constant.Names.ApplicationName} - Created Export Utility Job Error Log table if it doesn't already exist"); //Create the Import Utility Job Manager queue table if it doesn't already exist _logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Import Utility Job Manager queue table if it doesn't already exist"); var importManagerTableTask = sqlQueryHelper.CreateImportManagerQueueTableAsync(Helper.GetDBContext(-1)); _logger.LogDebug($"{Constant.Names.ApplicationName} - Created Import Utility Job Manager queue table if it doesn't already exist"); //Create the Import Utility Job Worker queue table if it doesn't already exist _logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Import Utility Job Worker queue table if it doesn't already exist"); var importWorkerTableTask = sqlQueryHelper.CreateImportWorkerQueueTableAsync(Helper.GetDBContext(-1)); _logger.LogDebug($"{Constant.Names.ApplicationName} - Created Import Utility Job Worker queue table if it doesn't already exist"); //Create the Import Utility Job Error log table if it doesn't already exist _logger.LogDebug($"{Constant.Names.ApplicationName} - Creating Import Utility Job Error Log table if it doesn't already exist"); var importErrorLogTableTask = sqlQueryHelper.CreateImportErrorLogTableAsync(Helper.GetDBContext(-1)); _logger.LogDebug($"{Constant.Names.ApplicationName} - Created Import Utility Job Error Log table if it doesn't already exist"); try { // Waits for all tasks, otherwise exceptions would be lost Task.WaitAll(exportManagerTableTask, exportWorkerTableTask, exportErrorLogTableTask, importManagerTableTask, importWorkerTableTask, importErrorLogTableTask); } catch (AggregateException aex) { _logger.LogError(aex, $"{Constant.Names.ApplicationName} - Post-Install failed. {aex}"); var ex = aex.Flatten(); var message = ex.Message + " : " + (ex.InnerException?.Message ?? "None"); response.Success = false; response.Message = "Post-Install field rename failed with message: " + message; } return response; })); }