Add mocked broker client

This commit is contained in:
2025-10-09 19:12:30 +09:00
parent bb91136d42
commit 209cd79f01
32 changed files with 809 additions and 225 deletions

View File

@ -4,58 +4,31 @@ using Hcs.Service.Async.Bills;
namespace Hcs.Broker.Api
{
// http://open-gkh.ru/BillsServiceAsync/
public class BillsApi(Client client) : ApiBase(client)
/// <inheritdoc cref="IBillsApi"/>
public class BillsApi(Client client) : ApiBase(client), IBillsApi
{
/// <summary>
/// Экспорт платежных документов
/// </summary>
/// <param name="paymentDocumentID">Идентификатор платежного документа</param>
/// <param name="token">Токен отмены</param>
/// <returns>Платежные документы</returns>
/// <inheritdoc cref="IBillsApi"/>
public async Task<IEnumerable<exportPaymentDocumentResultType>> ExportPaymentDocumentDataByPaymentDocumentIDAsync(string paymentDocumentID, CancellationToken token = default)
{
var request = new ExportPaymentDocumentDataRequest(client);
return await request.ExecuteByPaymentDocumentIDAsync(paymentDocumentID, token);
}
/// <summary>
/// Экспорт платежных документов
/// </summary>
/// <param name="year">Год</param>
/// <param name="month">Месяц</param>
/// <param name="fiasHouseGuid">Глобальный уникальный идентификатор дома по ФИАС</param>
/// <param name="accountNumber">Номер лицевого счета/иной идентификатор плательщика</param>
/// <param name="token">Токен отмены</param>
/// <returns>Платежные документы</returns>
/// <inheritdoc cref="IBillsApi"/>
public async Task<IEnumerable<exportPaymentDocumentResultType>> ExportPaymentDocumentDataByAccountNumberAsync(short year, int month, string fiasHouseGuid, string accountNumber, CancellationToken token = default)
{
var request = new ExportPaymentDocumentDataRequest(client);
return await request.ExecuteByAccountNumberAsync(year, month, fiasHouseGuid, accountNumber, token);
}
/// <summary>
/// Экспорт платежных документов
/// </summary>
/// <param name="year">Год</param>
/// <param name="month">Месяц</param>
/// <param name="fiasHouseGuid">Глобальный уникальный идентификатор дома по ФИАС</param>
/// <param name="paymentDocumentNumber">Номер платежного документа, по которому внесена плата,
/// присвоенный такому документу исполнителем в целях осуществления расчетов по внесению платы</param>
/// <param name="token">Токен отмены</param>
/// <returns>Платежные документы</returns>
/// <inheritdoc cref="IBillsApi"/>
public async Task<IEnumerable<exportPaymentDocumentResultType>> ExportPaymentDocumentDataByPaymentDocumentNumberAsync(short year, int month, string fiasHouseGuid, string paymentDocumentNumber, CancellationToken token = default)
{
var request = new ExportPaymentDocumentDataRequest(client);
return await request.ExecuteByPaymentDocumentNumberAsync(year, month, fiasHouseGuid, paymentDocumentNumber, token);
}
/// <summary>
/// Импорт сведений о платежных документах
/// </summary>
/// <param name="payload">Пейлоад сведений о платежных документах</param>
/// <param name="token">Токен отмены</param>
/// <returns>true, если операция выполнена успешно, иначе - false</returns>
/// <inheritdoc cref="IBillsApi"/>
public async Task<bool> ImportPaymentDocumentDataAsync(ImportPaymentDocumentDataPayload payload, CancellationToken token = default)
{
var request = new ImportPaymentDocumentDataRequest(client);