diff --git a/Hcs.Broker.Mock/Api/MockHouseManagementApi.cs b/Hcs.Broker.Mock/Api/MockHouseManagementApi.cs
index e14d6b6..0ce9829 100644
--- a/Hcs.Broker.Mock/Api/MockHouseManagementApi.cs
+++ b/Hcs.Broker.Mock/Api/MockHouseManagementApi.cs
@@ -1,5 +1,6 @@
using Hcs.Broker.Api;
using Hcs.Broker.Api.Payload.HouseManagement;
+using Hcs.Broker.Api.Request;
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Mock.Api
@@ -31,6 +32,25 @@ namespace Hcs.Broker.Mock.Api
return [];
}
+ ///
+ public async Task RequestExportSupplyResourceContractDataAsync(string? exportGuid = null, CancellationToken token = default)
+ {
+ await Task.Delay(3000, token);
+
+ return Guid.NewGuid().ToString();
+ }
+
+ ///
+ public async Task> GetExportSupplyResourceContractDataResultAsync(string messageGuid)
+ {
+ await Task.Delay(3000);
+
+ return new RequestMultipleResult()
+ {
+ Ready = false
+ };
+ }
+
///
public async Task ExportSupplyResourceContractDataAsync(Guid contractRootGuid, CancellationToken token = default)
{
diff --git a/Hcs.Broker/Api/HouseManagementApi.cs b/Hcs.Broker/Api/HouseManagementApi.cs
index 8af1869..440bb0c 100644
--- a/Hcs.Broker/Api/HouseManagementApi.cs
+++ b/Hcs.Broker/Api/HouseManagementApi.cs
@@ -1,4 +1,5 @@
using Hcs.Broker.Api.Payload.HouseManagement;
+using Hcs.Broker.Api.Request;
using Hcs.Broker.Api.Request.HouseManagement;
using Hcs.Service.Async.HouseManagement;
@@ -28,6 +29,20 @@ namespace Hcs.Broker.Api
return await request.ExecuteAsync(token);
}
+ ///
+ public async Task RequestExportSupplyResourceContractDataAsync(string? exportGuid = null, CancellationToken token = default)
+ {
+ var request = new ExportSupplyResourceContractDataRequest(client);
+ return await request.SendAsync(exportGuid, token);
+ }
+
+ ///
+ public async Task> GetExportSupplyResourceContractDataResultAsync(string messageGuid)
+ {
+ var request = new ExportSupplyResourceContractDataRequest(client);
+ return await request.GetResultAsync(messageGuid);
+ }
+
///
public async Task ExportSupplyResourceContractDataAsync(Guid contractRootGuid, CancellationToken token = default)
{
diff --git a/Hcs.Broker/Api/IHouseManagementApi.cs b/Hcs.Broker/Api/IHouseManagementApi.cs
index 31652ce..6e7c88a 100644
--- a/Hcs.Broker/Api/IHouseManagementApi.cs
+++ b/Hcs.Broker/Api/IHouseManagementApi.cs
@@ -1,4 +1,5 @@
using Hcs.Broker.Api.Payload.HouseManagement;
+using Hcs.Broker.Api.Request;
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Api
@@ -29,6 +30,21 @@ namespace Hcs.Broker.Api
/// Договора ресурсоснабжения
Task> ExportSupplyResourceContractDataAsync(CancellationToken token = default);
+ ///
+ /// Запрашивает экспорт договоров ресурсоснабжения
+ ///
+ /// Идентификатор экспорта, не заполняется при первичном экспорте
+ /// Токен отмены
+ /// Идентификатор сообщения операции экспорта
+ Task RequestExportSupplyResourceContractDataAsync(string? exportGuid = null, CancellationToken token = default);
+
+ ///
+ /// Возвращает результат экспорта договоров ресурсоснабжения
+ ///
+ /// Идентификатор сообщения операции экспорта
+ /// Результат запроса
+ Task> GetExportSupplyResourceContractDataResultAsync(string messageGuid);
+
///
/// Возвращает договор ресурсоснабжения по его идентификатору в ГИС ЖКХ
///
diff --git a/Hcs.Broker/Api/Request/HouseManagement/ExportSupplyResourceContractDataRequest.cs b/Hcs.Broker/Api/Request/HouseManagement/ExportSupplyResourceContractDataRequest.cs
index 833c8e6..f6c8240 100644
--- a/Hcs.Broker/Api/Request/HouseManagement/ExportSupplyResourceContractDataRequest.cs
+++ b/Hcs.Broker/Api/Request/HouseManagement/ExportSupplyResourceContractDataRequest.cs
@@ -40,6 +40,59 @@ namespace Hcs.Broker.Api.Request.HouseManagement
return result;
}
+ internal async Task SendAsync(string? exportGuid = null, CancellationToken token = default)
+ {
+ var itemsElementName = new List();
+ var items = new List