@page "/test/export" @using Hcs.Broker @using Hcs.Broker.Logger @using Hcs.Broker.MessageCapturer @using Hcs.Service.Async.Nsi @using Hcs.WebApp.Components.Shared @inject NavigationManager NavigationManager Тестирование экспорта Сервис nsi OnNsiExportItem1Click()) Disabled=@inputDisabled Text="Экспорт НСИ 1" ButtonStyle="ButtonStyle.Primary" /> @code { EventConsole console = default!; bool inputDisabled = false; string messageBody; string responseBody; Client client; ActionLogger logger = new ActionLogger(); FileMessageCapturer messageCapturer; bool catchMessageBody; public Export() { logger.OnWriteLine += OnLog; messageCapturer = new FileMessageCapturer("test/export", logger); messageCapturer.OnFileWritten += OnFileWritten; client = new Client { OrgPPAGUID = "ccd7fa02-a2bf-428a-984b-faef69ae0eb2", ExecutorGUID = "ccd7fa02-a2bf-428a-984b-faef69ae0eb2", UseTunnel = false, IsPPAK = false, Role = OrganizationRole.RSO, Logger = logger, MessageCapturer = messageCapturer }; client.SetSigningCertificate("0636D2330032B3C38A4A26D765C787C248"); } void OnLog(string log) { console.Log(log); } void OnFileWritten(string fileName) { if (catchMessageBody) { catchMessageBody = false; messageBody = File.ReadAllText(fileName); } } async Task OnNsiExportItem1Click() { try { StartExport(); await client.Nsi.ExportDataProviderNsiItemAsync(exportDataProviderNsiItemRequestRegistryNumber.Item1); EndExport(); } catch { NavigationManager.NavigateTo("/error"); } } void StartExport() { inputDisabled = false; messageBody = string.Empty; responseBody = string.Empty; catchMessageBody = true; console.Clear(); } void EndExport() { inputDisabled = true; responseBody = File.ReadAllText(messageCapturer.LastFileName); } }