using System.Net.Http;
using AyCode.Services.Nav.Ekaer.Models;
namespace AyCode.Services.Nav.Ekaer;
///
/// EKÁER bejelentés-kezelés (create / modify / delete / finalize / correction) a /manageTradeCards
/// műveleten keresztül. A send-flow-t és az auth-ot a
/// adja; itt csak az EKÁER endpoint (namespace) és a típuspár konkretizálódik.
///
///
/// Részletek: Nav/docs/EKAER_INTERFACE.md (transport/auth), EKAER_TRADECARD.md (payload),
/// EKAER_OPERATIONS.md (műveletek). A a környezet báziscíme
/// (PROD: https://import.ekaer.nav.gov.hu, TEST: https://import-test-b.ekaer.nav.gov.hu).
///
public sealed class EkaerManageService : NavReportServiceBase
{
public EkaerManageService(HttpClient httpClient, INavCredentials credentials)
: base(httpClient, credentials)
{
}
protected override string OperationPath => "TradeCardManagementService/customer/manageTradeCards";
/// Elküldi a bejelentés-kezelő kérést a NAV-nak. Hibánál .
public Task ManageAsync(ManageTradeCardsRequest request, CancellationToken cancellationToken = default)
=> SendAsync(request, cancellationToken);
}
///
/// EKÁER bejelentés-lekérdezés a /queryTradeCards műveleten keresztül.
///
public sealed class EkaerQueryService : NavReportServiceBase
{
public EkaerQueryService(HttpClient httpClient, INavCredentials credentials)
: base(httpClient, credentials)
{
}
protected override string OperationPath => "TradeCardManagementService/customer/queryTradeCards";
/// Lekérdezi a bejelentéseket a megadott paraméterekkel.
public Task QueryAsync(QueryTradeCardsRequest request, CancellationToken cancellationToken = default)
=> SendAsync(request, cancellationToken);
}