Files
hcs/Hcs.Client/ClientApi/NsiApi/HcsMethodExportNsi.cs

42 lines
1.5 KiB
C#

using System.Threading;
using System.Threading.Tasks;
using Nsi = Hcs.Service.Async.Nsi.v15_7_0_1;
namespace Hcs.ClientApi.NsiApi
{
/// <summary>
/// Операции экспорта данных справочников поставщика информации ГИС ЖКХ
/// </summary>
internal class HcsMethodExportNsi : HcsNsiMethod
{
public HcsMethodExportNsi(HcsClientConfig config) : base(config)
{
EnableMinimalResponseWaitDelay = true;
CanBeRestarted = true;
}
/// <summary>
/// Возвращает данные справочников поставщика информации
/// </summary>
public async Task<object[]> 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;
}
}
}