using Hcs.Client.Api.Payload.HouseManagement;
using Hcs.Client.Api.Request.HouseManagement;
using Hcs.Service.Async.HouseManagement;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace Hcs.Client.Api
{
// http://open-gkh.ru/HouseManagementServiceAsync/
public class HouseManagementApi(ClientBase client) : ApiBase(client)
{
///
/// Возвращает все договора ресурсоснабжения
///
/// Токен отмены
/// Договора ресурсоснабжения
public async Task> ExportSupplyResourceContractDataAsync(CancellationToken token = default)
{
var request = new ExportSupplyResourceContractDataRequest(client);
return await request.ExecuteAsync(token);
}
///
/// Возвращает договор ресурсоснабжения по его идентификатору в ГИС ЖКХ
///
/// Идентификатор договора ресурсоснабжения в ГИС ЖКХ
/// Токен отмены
/// Договор ресурсоснабжения
public async Task ExportSupplyResourceContractDataAsync(Guid contractRootGuid, CancellationToken token = default)
{
var request = new ExportSupplyResourceContractDataRequest(client);
return await request.ExecuteAsync(contractRootGuid, token);
}
///
/// Возвращает договор ресурсоснабжения по номеру договора в ГИС ЖКХ
///
/// Номер договора ресурсоснабжения в ГИС ЖКХ
/// Токен отмены
/// Договор ресурсоснабжения
public async Task ExportSupplyResourceContractDataAsync(string contractNumber, CancellationToken token = default)
{
var request = new ExportSupplyResourceContractDataRequest(client);
return await request.ExecuteAsync(contractNumber, token);
}
///
/// Возвращает объекты жилищного фонда из договора ресурсоснабжения по его идентификатору
///
/// Идентификатор договора ресурсоснабжения в ГИС ЖКХ
/// Токен отмены
/// Объекты жилищного фонда
public async Task> ExportSupplyResourceContractObjectAddressDataAsync(Guid contractRootGuid, CancellationToken token = default)
{
var request = new ExportSupplyResourceContractObjectAddressDataRequest(client);
return await request.ExecuteAsync(contractRootGuid, token);
}
///
/// Импорт новости для информирования граждан
///
/// Пейлоад новости
/// Токен отмены
/// true, если операция выполнена успешно, иначе - false
public async Task ImportNotificationDataAsync(ImportNotificationDataPayload payload, CancellationToken token = default)
{
var request = new ImportNotificationDataRequest(client);
return await request.ExecuteAsync(payload, token);
}
///
/// Импорт договора ресурсоснабжения с РСО
///
/// Пейлоад договора ресурсоснабжения
/// Токен отмены
/// Импортированный договор
public async Task ImportSupplyResourceContractDataAsync(ImportSupplyResourceContractDataPayload payload, CancellationToken token = default)
{
var request = new ImportSupplyResourceContractDataRequest(client);
return await request.ExecuteAsync(payload, token);
}
}
}