Add new Hcs.Broker to communicate with ГИС ЖКХ via CryptoPro LibCore

This commit is contained in:
2025-09-28 15:45:15 +09:00
parent 904988780a
commit 2b49320014
171 changed files with 185618 additions and 0 deletions

View File

@ -0,0 +1,49 @@
using Hcs.Broker.Api.Request.Exception;
using Hcs.Broker.Api.Request.OrgRegistryCommon;
using Hcs.Service.Async.OrgRegistryCommon;
namespace Hcs.Broker.Api
{
// http://open-gkh.ru/OrganizationsRegistryCommonAsyncService/
public class OrgRegistryCommonApi(Client client) : ApiBase(client)
{
/// <summary>
/// Экспорт сведений о поставщиках информации ИС
/// </summary>
/// <param name="isActual">Выгрузить только активных поставщиков данных</param>
/// <param name="token">Токен отмены</param>
/// <returns>Сведения о поставщиках данных</returns>
public async Task<IEnumerable<exportDataProviderResultType>> ExportDataProviderAsync(bool isActual, CancellationToken token = default)
{
try
{
var request = new ExportDataProviderRequest(client);
return await request.ExecuteAsync(isActual, token);
}
catch (NoResultsRemoteException)
{
return [];
}
}
/// <summary>
/// Экспорт сведений из реестра организаций
/// </summary>
/// <param name="ogrn">ОГРН</param>
/// <param name="kpp">КПП</param>
/// <param name="token">Токен отмены</param>
/// <returns>Сведения из реестра организаций</returns>
public async Task<IEnumerable<exportOrgRegistryResultType>> ExportOrgRegistryAsync(string ogrn, string kpp, CancellationToken token = default)
{
try
{
var request = new ExportOrgRegistryRequest(client);
return await request.ExecuteAsync(ogrn, kpp, token);
}
catch (NoResultsRemoteException)
{
return [];
}
}
}
}