Add nsi service handler
This commit is contained in:
41
Hcs.Client/ClientApi/NsiApi/HcsMethodExportNsi.cs
Normal file
41
Hcs.Client/ClientApi/NsiApi/HcsMethodExportNsi.cs
Normal file
@ -0,0 +1,41 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user