42 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|