Ejemplo n.º 1
0
 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,
                });
            }
        }