using System.Threading; using System.Threading.Tasks; using Nsi = Hcs.Service.Async.Nsi.v15_7_0_1; namespace Hcs.ClientApi.NsiApi { /// /// Операции экспорта данных справочников поставщика информации ГИС ЖКХ /// internal class HcsMethodExportNsi : HcsNsiMethod { public HcsMethodExportNsi(HcsClientConfig config) : base(config) { EnableMinimalResponseWaitDelay = true; CanBeRestarted = true; } /// /// Возвращает данные справочников поставщика информации /// public async Task GetNsiItem(int regNum, CancellationToken token) { var request = new Nsi.exportDataProviderNsiItemRequest { Id = HcsConstants.SignedXmlElementId, RegistryNumber = (Nsi.exportDataProviderNsiItemRequestRegistryNumber)regNum, // http://open-gkh.ru/Nsi/exportDataProviderNsiItemRequest.html version = "10.0.1.2" }; var stateResult = await SendAndWaitResultAsync(request, async (portClient) => { var response = await portClient.exportDataProviderNsiItemAsync(CreateRequestHeader(), request); return response.AckRequest.Ack; }, token); return stateResult.Items; } } }