using Hcs.Broker.Api;
using Hcs.Broker.Api.Payload.Bills;
using Hcs.Service.Async.Bills;

namespace Hcs.Broker.Mock.Api
{
    /// <inheritdoc cref="IBillsApi"/>
    public class MockBillsApi : IBillsApi
    {
        /// <inheritdoc cref="IBillsApi"/>
        public async Task<IEnumerable<exportPaymentDocumentResultType>> ExportPaymentDocumentDataByAccountNumberAsync(short year, int month, string fiasHouseGuid, string accountNumber, CancellationToken token = default)
        {
            await Task.Delay(3000, token);

            return [];
        }

        /// <inheritdoc cref="IBillsApi"/>
        public async Task<IEnumerable<exportPaymentDocumentResultType>> ExportPaymentDocumentDataByPaymentDocumentIDAsync(string paymentDocumentID, CancellationToken token = default)
        {
            await Task.Delay(3000, token);

            return [];
        }

        /// <inheritdoc cref="IBillsApi"/>
        public async Task<IEnumerable<exportPaymentDocumentResultType>> ExportPaymentDocumentDataByPaymentDocumentNumberAsync(short year, int month, string fiasHouseGuid, string paymentDocumentNumber, CancellationToken token = default)
        {
            await Task.Delay(3000, token);

            return [];
        }

        /// <inheritdoc cref="IBillsApi"/>
        public async Task<bool> ImportPaymentDocumentDataAsync(ImportPaymentDocumentDataPayload payload, CancellationToken token = default)
        {
            await Task.Delay(3000, token);

            return true;
        }
    }
}
