/// <summary> /// Execute example /// </summary> /// <param name="cancellationToken">The cancellation token</param> /// <returns>The task</returns> public async Task Execute(CancellationToken cancellationToken) { var integrationId = Guid.Parse("28830026-3115-4C03-9A15-E634C0BDA2FD"); var remoteImportGuid = Guid.Parse("F2562C6C-D7F7-4E72-9CBD-9B6153148571"); var fileName = "example.xlsx"; var fileSize = 3000L; var fileDate = DateTimeOffset.UtcNow; var request = new StartIntegrationImportV1Request { IntegrationId = integrationId, FileVersionId = remoteImportGuid, FileName = fileName, FileSize = fileSize, FileDate = fileDate, }; var response = await _client .Execute(request, cancellationToken) .ThrowIfFailed() .ConfigureAwait(Await.Default); Require.NotNull(response, nameof(response)); }
/// <summary> /// Start an integration import upload /// </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)); UploadIntegrationImportCommandResult commandResult; var integrationImport = command.Item; Require.NotNull(integrationImport, nameof(integrationImport)); var fileInfo = _fileInfoFactory.FromFileName(integrationImport.File); var remoteImportId = integrationImport.FileVersionId; var request = new StartIntegrationImportV1Request { IntegrationId = integrationImport.IntegrationId, FileName = fileInfo.Name, FileDate = integrationImport.FileDate, FileSize = fileInfo.Length, FileVersionId = remoteImportId }; var response = await _client .Execute(request, cancellationToken) .ConfigureAwait(Await.Default); if (response.IsSuccessful) { command.IntegrationImportId = response.Model.IntegrationImportId; commandResult = await _handler .Handle(command, cancellationToken) .ConfigureAwait(Await.Default); } else { commandResult = new UploadIntegrationImportCommandResult { Success = false, Message = "Error starting integration import", }; } return(commandResult); }