/// <summary> /// Handles uploading the integration import /// </summary> /// <param name="command">The command</param> /// <param name="cancellationToken">The cancellation token</param> /// <returns>The response</returns> public async Task <UploadIntegrationImportCommandResult> Handle( UploadIntegrationImportCommand command, CancellationToken cancellationToken) { Argument.NotNull(command, nameof(command)); var commandResult = new UploadIntegrationImportCommandResult(); var integrationImport = command.Item; Require.NotNull(integrationImport, nameof(integrationImport)); var query = new CreateStreamFromPathQuery { Path = integrationImport.File }; using (var queryResult = await _queryHandler .Handle(query, cancellationToken) .ConfigureAwait(Await.Default)) { var uploadRequest = new UploadIntegrationImportV1Request { IntegrationImportId = command.IntegrationImportId, File = queryResult.File, FileName = integrationImport.FileName, Size = queryResult.Size, }; var response = await _client .Execute(uploadRequest, cancellationToken) .ConfigureAwait(Await.Default); if (response.IsSuccessful) { commandResult.Success = true; commandResult.Message = ""; uploadRequest.Dispose(); } else { commandResult.Success = false; commandResult.Message = "Error uploading integration import"; uploadRequest.Dispose(); } } return(commandResult); }
private static UploadIntegrationImportV1Request GetRequest() { var integrationImportId = Guid.Parse(IntegrationImportId); var fileName = "example.xlsx"; var file = typeof(UploadIntegrationImportV1Example).Assembly.GetManifestResourceStream(fileName); var fileSize = file.Length; var request = new UploadIntegrationImportV1Request { IntegrationImportId = integrationImportId, File = file, FileName = fileName, Size = fileSize, }; return(request); }