using Hcs.Client.Api.Payload.Bills;
using Hcs.Client.Api.Request.Bills;
using System.Threading;
using System.Threading.Tasks;

namespace Hcs.Client.Api
{
    // http://open-gkh.ru/BillsServiceAsync/
    public class BillsApi(ClientBase client) : ApiBase(client)
    {
        /// <summary>
        /// Импорт сведений о платежных документах
        /// </summary>
        /// <param name="payload">Пейлоад сведений о платежных документах</param>
        /// <param name="token">Токен отмены</param>
        /// <returns>true, если операция выполнена успешно, иначе - false</returns>
        public async Task<bool> ImportPaymentDocumentAsync(ImportPaymentDocumentPayload payload, CancellationToken token = default)
        {
            var request = new ImportPaymentDocumentRequest(client);
            return await request.ExecuteAsync(payload, token);
        }
    }
}
