using Hcs.Broker.Api.Request.Exception;
using Hcs.Broker.Api.Request.NsiCommon;
using Hcs.Service.Async.NsiCommon;
namespace Hcs.Broker.Api
{
// http://open-gkh.ru/NsiCommonService/
public class NsiCommonApi(Client client) : ApiBase(client)
{
///
/// Возвращает данные общесистемного справочника
///
/// Реестровый номер справочника
/// Группа справочников, где NSI - общесистемный, а NSIRAO - ОЖФ
/// Токен отмены
/// Данные общесистемного справочника
public async Task ExportNsiItemAsync(int registryNumber, ListGroup listGroup, CancellationToken token = default)
{
try
{
var request = new ExportNsiItemRequest(client);
return await request.ExecuteAsync(registryNumber, listGroup, token);
}
catch (NoResultsRemoteException)
{
return null;
}
}
///
/// Возвращает перечень общесистемных справочников с указанием даты последнего изменения каждого из них
///
/// Группа справочников, где NSI - общесистемный, а NSIRAO - ОЖФ
/// Токен отмены
/// Перечень общесистемных справочников
public async Task ExportNsiListAsync(ListGroup listGroup, CancellationToken token = default)
{
try
{
var request = new ExportNsiListRequest(client);
return await request.ExecuteAsync(listGroup, token);
}
catch (NoResultsRemoteException)
{
return null;
}
}
}
}