diff --git a/Hcs.Client/Client/Api/HouseManagementApi.cs b/Hcs.Client/Client/Api/HouseManagementApi.cs
index b5e9cab..e9daacb 100644
--- a/Hcs.Client/Client/Api/HouseManagementApi.cs
+++ b/Hcs.Client/Client/Api/HouseManagementApi.cs
@@ -11,6 +11,17 @@ namespace Hcs.Client.Api
// http://open-gkh.ru/HouseManagementServiceAsync/
public class HouseManagementApi(ClientBase client) : ApiBase(client)
{
+ ///
+ /// Возвращает информацию о доме
+ ///
+ /// Токен отмены
+ /// Информация о доме
+ public async Task> ExportHouseAsync(string fiasHouseGuid, CancellationToken token = default)
+ {
+ var request = new ExportHouseRequest(client);
+ return await request.ExecuteAsync(fiasHouseGuid, token);
+ }
+
///
/// Возвращает все договора ресурсоснабжения
///
diff --git a/Hcs.Client/Client/Api/Request/HouseManagement/ExportHouseRequest.cs b/Hcs.Client/Client/Api/Request/HouseManagement/ExportHouseRequest.cs
new file mode 100644
index 0000000..d66803d
--- /dev/null
+++ b/Hcs.Client/Client/Api/Request/HouseManagement/ExportHouseRequest.cs
@@ -0,0 +1,33 @@
+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 ExportHouseRequest(ClientBase client) : HouseManagementRequestBase(client)
+ {
+ protected override bool EnableMinimalResponseWaitDelay => false;
+
+ internal async Task> ExecuteAsync(string fiasHouseGuid, CancellationToken token)
+ {
+ // http://open-gkh.ru/HouseManagement/exportHouseRequest.html
+ var request = new exportHouseRequest
+ {
+ Id = Constants.SIGNED_XML_ELEMENT_ID,
+ version = "15.6.0.1",
+ FIASHouseGuid = fiasHouseGuid
+ };
+
+ var result = await SendAndWaitResultAsync(request, async asyncClient =>
+ {
+ var response = await asyncClient.exportHouseDataAsync(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 3240af0..1d966f4 100644
--- a/Hcs.Client/Hcs.Client.csproj
+++ b/Hcs.Client/Hcs.Client.csproj
@@ -93,6 +93,7 @@
+
diff --git a/Hcs.TestApp/TestApp/Program.cs b/Hcs.TestApp/TestApp/Program.cs
index 4cebf08..0c341b9 100644
--- a/Hcs.TestApp/TestApp/Program.cs
+++ b/Hcs.TestApp/TestApp/Program.cs
@@ -42,6 +42,8 @@ namespace Hcs.TestApp
var orgRegistryCommonScenario = new OrgRegistryCommonScenario(client);
try
{
+ //houseManagementScenario.ExportHouse();
+
//houseManagementScenario.ExportAllSupplyResourceContractData();
//houseManagementScenario.ExportSupplyResourceContractDataByGuid();
//houseManagementScenario.ExportSupplyResourceContractDataByNumber();
diff --git a/Hcs.TestApp/TestApp/Scenario/HouseManagementScenario.cs b/Hcs.TestApp/TestApp/Scenario/HouseManagementScenario.cs
index f61560b..0904dda 100644
--- a/Hcs.TestApp/TestApp/Scenario/HouseManagementScenario.cs
+++ b/Hcs.TestApp/TestApp/Scenario/HouseManagementScenario.cs
@@ -3,6 +3,7 @@ using Hcs.Client.Api.Payload.HouseManagement;
using Hcs.Client.Api.Registry;
using Hcs.Service.Async.HouseManagement;
using System;
+using System.Linq;
namespace Hcs.TestApp.Scenario
{
@@ -10,10 +11,16 @@ namespace Hcs.TestApp.Scenario
{
private readonly UniClient client = client;
+ internal void ExportHouse()
+ {
+ var result = client.HouseManagement.ExportHouseAsync("c48e5025-f77a-494f-8aab-f773da623a25").Result;
+ Console.WriteLine("Scenario execution " + (result != null && result.Count() > 0 ? "succeeded" : "failed"));
+ }
+
internal void ExportAllSupplyResourceContractData()
{
var result = client.HouseManagement.ExportSupplyResourceContractDataAsync().Result;
- Console.WriteLine("Scenario execution " + (result != null ? "succeeded" : "failed"));
+ Console.WriteLine("Scenario execution " + (result != null && result.Count() > 0 ? "succeeded" : "failed"));
}
internal void ExportSupplyResourceContractDataByGuid()