public FileImportService(FileImportConfiguration configuration, string instanceName) { _configuration = configuration; _tokenRetriever = new TokenRetriever(new OdsApiConnectionInformation(instanceName, CloudOdsAdminAppSettings.Instance.Mode) { OAuthUrl = configuration.OauthUrl, ClientKey = configuration.OauthKey, ClientSecret = configuration.OauthSecret }); }
public WorkflowResult Execute(BulkUploadJobContext bulkUploadJobContext) { try { var globalBulkUploadFolder = CloudOdsAdminAppSettings.AppSettings.BulkUploadHashCache; var instanceBulkUploadFolder = $"{globalBulkUploadFolder}\\{bulkUploadJobContext.OdsInstanceId}"; var workingFolderPath = _fileUploadHandler.GetWorkingDirectory(instanceBulkUploadFolder); var fileImportConfig = new FileImportConfiguration().SetConfiguration( bulkUploadJobContext, workingFolderPath); var fileImportService = new FileImportService( fileImportConfig, bulkUploadJobContext.OdsInstanceName, _inferOdsApiVersion); var workflowManager = SetupWorkflowManager(bulkUploadJobContext, fileImportService); return(workflowManager.Execute()); } catch (Exception ex) { var errorMessage = $"An error occured while initializing the file importer: {ex.Message}"; var status = new WorkflowStatus { Complete = true, CurrentStep = 0, TotalSteps = 0, Error = true, ErrorMessage = errorMessage, }; StatusUpdated?.Invoke(status); return(new WorkflowResult { Error = true, ErrorMessage = errorMessage, TotalSteps = 0, StepsCompletedSuccessfully = 0, }); } }