diff --git a/Hcs.Client/Client/Api/HouseManagementApi.cs b/Hcs.Client/Client/Api/HouseManagementApi.cs
index e9daacb..1176b43 100644
--- a/Hcs.Client/Client/Api/HouseManagementApi.cs
+++ b/Hcs.Client/Client/Api/HouseManagementApi.cs
@@ -11,9 +11,22 @@ namespace Hcs.Client.Api
// http://open-gkh.ru/HouseManagementServiceAsync/
public class HouseManagementApi(ClientBase client) : ApiBase(client)
{
+ ///
+ /// Экспорт лицевых счетов
+ ///
+ /// Глобальный уникальный идентификатор дома по ФИАС
+ /// Токен отмены
+ /// Лицевые счета
+ public async Task> ExportAccountAsync(string fiasHouseGuid, CancellationToken token = default)
+ {
+ var request = new ExportAccountRequest(client);
+ return await request.ExecuteAsync(fiasHouseGuid, token);
+ }
+
///
/// Возвращает информацию о доме
///
+ /// Глобальный уникальный идентификатор дома по ФИАС
/// Токен отмены
/// Информация о доме
public async Task> ExportHouseAsync(string fiasHouseGuid, CancellationToken token = default)
diff --git a/Hcs.Client/Client/Api/Request/HouseManagement/ExportAccountRequest.cs b/Hcs.Client/Client/Api/Request/HouseManagement/ExportAccountRequest.cs
new file mode 100644
index 0000000..0722d69
--- /dev/null
+++ b/Hcs.Client/Client/Api/Request/HouseManagement/ExportAccountRequest.cs
@@ -0,0 +1,34 @@
+using Hcs.Client.Internal;
+using Hcs.Service.Async.HouseManagement;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Hcs.Client.Api.Request.HouseManagement
+{
+ internal class ExportAccountRequest(ClientBase client) : HouseManagementRequestBase(client)
+ {
+ protected override bool EnableMinimalResponseWaitDelay => false;
+
+ internal async Task> ExecuteAsync(string fiasHouseGuid, CancellationToken token)
+ {
+ // http://open-gkh.ru/HouseManagement/exportAccountRequest.html
+ var request = new exportAccountRequest
+ {
+ Id = Constants.SIGNED_XML_ELEMENT_ID,
+ version = "10.0.1.1",
+ Items = [fiasHouseGuid],
+ ItemsElementName = [ItemsChoiceType26.FIASHouseGuid]
+ };
+
+ var result = await SendAndWaitResultAsync(request, async asyncClient =>
+ {
+ var response = await asyncClient.exportAccountDataAsync(CreateRequestHeader(), request);
+ return response.AckRequest.Ack;
+ }, token);
+
+ return result.Items.OfType();
+ }
+ }
+}
diff --git a/Hcs.Client/Hcs.Client.csproj b/Hcs.Client/Hcs.Client.csproj
index 1d966f4..b156b4e 100644
--- a/Hcs.Client/Hcs.Client.csproj
+++ b/Hcs.Client/Hcs.Client.csproj
@@ -93,6 +93,7 @@
+
diff --git a/Hcs.TestApp/TestApp/Scenario/HouseManagementScenario.cs b/Hcs.TestApp/TestApp/Scenario/HouseManagementScenario.cs
index 0904dda..d0901be 100644
--- a/Hcs.TestApp/TestApp/Scenario/HouseManagementScenario.cs
+++ b/Hcs.TestApp/TestApp/Scenario/HouseManagementScenario.cs
@@ -11,6 +11,12 @@ namespace Hcs.TestApp.Scenario
{
private readonly UniClient client = client;
+ internal void ExportAccount()
+ {
+ var result = client.HouseManagement.ExportAccountAsync("c48e5025-f77a-494f-8aab-f773da623a25").Result;
+ Console.WriteLine("Scenario execution " + (result != null && result.Count() > 0 ? "succeeded" : "failed"));
+ }
+
internal void ExportHouse()
{
var result = client.HouseManagement.ExportHouseAsync("c48e5025-f77a-494f-8aab-f773da623a25").Result;