diff --git a/Hcs.WebApp/BackgroundServices/ResultGetters/IResultGetter.cs b/Hcs.WebApp/BackgroundServices/ResultGetters/IResultGetter.cs index cb3d518..61fcb09 100644 --- a/Hcs.WebApp/BackgroundServices/ResultGetters/IResultGetter.cs +++ b/Hcs.WebApp/BackgroundServices/ResultGetters/IResultGetter.cs @@ -2,6 +2,6 @@ { public interface IResultGetter { - Task GetAsync(); + Task GetAsync(); } } diff --git a/Hcs.WebApp/BackgroundServices/ResultGetters/NsiCommon/ExportNsiItemGetter_15_7_0_1.cs b/Hcs.WebApp/BackgroundServices/ResultGetters/NsiCommon/ExportNsiItemGetter_15_7_0_1.cs index 76ed4d0..2bae6bb 100644 --- a/Hcs.WebApp/BackgroundServices/ResultGetters/NsiCommon/ExportNsiItemGetter_15_7_0_1.cs +++ b/Hcs.WebApp/BackgroundServices/ResultGetters/NsiCommon/ExportNsiItemGetter_15_7_0_1.cs @@ -6,12 +6,12 @@ namespace Hcs.WebApp.BackgroundServices.ResultGetters.NsiCommon { public class ExportNsiItemGetter_15_7_0_1(IClient client, IServiceScope scope, Operation operation) : ResultGetterBase(client, scope, operation) { - public override async Task GetAsync() + public override async Task GetAsync() { var result = await client.NsiCommon.GetExportNsiItemResultAsync(operation.MessageGuid!); if (!result.Ready) { - return ResultGetterResponse.NotReady; + return false; } if (result.Success) @@ -20,10 +20,10 @@ namespace Hcs.WebApp.BackgroundServices.ResultGetters.NsiCommon var registry = await registryService.GetRegistryByOperationIdAsync(operation.Id); // TODO - return ResultGetterResponse.Successful; + return true; } - return ResultGetterResponse.Failed; + throw Failure(result.ErrorMessage); } } } diff --git a/Hcs.WebApp/BackgroundServices/ResultGetters/ResultGetterBase.cs b/Hcs.WebApp/BackgroundServices/ResultGetters/ResultGetterBase.cs index f208e94..efee6b9 100644 --- a/Hcs.WebApp/BackgroundServices/ResultGetters/ResultGetterBase.cs +++ b/Hcs.WebApp/BackgroundServices/ResultGetters/ResultGetterBase.cs @@ -1,4 +1,5 @@ using Hcs.Broker; +using Hcs.Broker.Api.Request.Adapter; using Hcs.WebApp.Data.Hcs; namespace Hcs.WebApp.BackgroundServices.ResultGetters @@ -9,6 +10,15 @@ namespace Hcs.WebApp.BackgroundServices.ResultGetters protected readonly IServiceScope scope = scope; protected readonly Operation operation = operation; - public abstract Task GetAsync(); + public abstract Task GetAsync(); + + protected Exception Failure(IErrorMessage? errorMessage) + { + if (errorMessage != null) + { + return new Exception($"{errorMessage.ErrorCode} - {errorMessage.Description}"); + } + return new Exception("Критическая ошибка"); + } } } diff --git a/Hcs.WebApp/BackgroundServices/ResultGetters/ResultGetterResponse.cs b/Hcs.WebApp/BackgroundServices/ResultGetters/ResultGetterResponse.cs deleted file mode 100644 index b74a0c6..0000000 --- a/Hcs.WebApp/BackgroundServices/ResultGetters/ResultGetterResponse.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Hcs.WebApp.BackgroundServices.ResultGetters -{ - public enum ResultGetterResponse - { - NotReady, - Successful, - Failed - } -} diff --git a/Hcs.WebApp/BackgroundServices/ResultWaitService.cs b/Hcs.WebApp/BackgroundServices/ResultWaitService.cs index c2c353f..5d60fc4 100644 --- a/Hcs.WebApp/BackgroundServices/ResultWaitService.cs +++ b/Hcs.WebApp/BackgroundServices/ResultWaitService.cs @@ -69,13 +69,10 @@ namespace Hcs.WebApp.BackgroundServices try { var resultGetter = resultGetterFactory.CreateResultGetter(scope, client, entry.operation); - var response = await resultGetter.GetAsync(); - switch (response) + var success = await resultGetter.GetAsync(); + if (success) { - case ResultGetterResponse.Successful: - case ResultGetterResponse.Failed: - entry.state.done = true; - break; + entry.state.done = true; } } catch (Exception e)