/// <summary> /// Report status back to api /// </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 stopwatch = Stopwatch.StartNew(); var commandResult = await _handler .Handle(command, cancellationToken) .ConfigureAwait(Await.Default); stopwatch.Stop(); int duration = Convert(stopwatch.ElapsedMilliseconds); string exception = null; if (commandResult.Exception != null) { exception = commandResult.Exception.ToString(); if (exception.Length > ExceptionLength) { exception = exception.Substring(0, ExceptionLength); } } var request = new ReportIntegrationImportV1Request { IntegrationImportId = command.IntegrationImportId, Result = commandResult.Success == true ? UploadIntegrationImportV1Result.Success : UploadIntegrationImportV1Result.Failed, Duration = duration, Message = commandResult.Message, Exception = exception, }; _ = await _client .Execute(request, cancellationToken) .ConfigureAwait(Await.Default); return(commandResult); }
/// <summary> /// Execute example /// </summary> /// <param name="cancellationToken">The cancellation token</param> /// <returns>The task</returns> public async Task Execute(CancellationToken cancellationToken) { var integrationImportId = Guid.Parse("64064995-E24B-4C38-8DCA-DD32C29793AB"); var duration = 500; var request = new ReportIntegrationImportV1Request { IntegrationImportId = integrationImportId, Result = UploadIntegrationImportV1Result.Success, Duration = duration, Message = "Success", Exception = "" }; var response = await _client .Execute(request, cancellationToken) .ThrowIfFailed() .ConfigureAwait(Await.Default); Require.NotNull(response, nameof(response)); }