using Hcs.ClientApi.DataTypes; using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; namespace Hcs.ClientApi.OrgRegistryCommonApi { public class HcsOrgRegistryCommonApi { public HcsClientConfig Config { get; private set; } public HcsOrgRegistryCommonApi(HcsClientConfig config) { this.Config = config; } /// /// Возвращает ГУИДы действующих организаций в ГИС ЖКХ по номеру ОГРН (КПП может быть не указан). /// Если организации не найдены, возвращается пустой список. /// public async Task> GetOrgRootEntityGuidByOgrn( string ogrn, string kpp, CancellationToken token = default) { var orgs = await GetOrgByOgrn(ogrn, kpp, token); return orgs.Where(x => x.Действующая).Select(x => x.ГуидОрганизации); } /// /// Возвращает карточки организации в ГИС ЖКХ по номеру ОГРН (КПП может быть не указан). /// Если организации не найдены, возвращается пустой список. /// public async Task> GetOrgByOgrn( string ogrn, string kpp, CancellationToken token = default) { try { var method = new HcsMethodExportOrgRegistry(Config); return await method.GetOrgByOgrn(ogrn, kpp, token); } catch (HcsNoResultsRemoteException) { return []; } } } }