using AyCode.Services.Nav;
namespace AyCode.Services.Nav.Ekaer.Models;
// Az EKÁER generált modellekre (XSD-ből, EKAER/1.0 namespace) ráhúzzuk a Nav base réteg interfészeit.
// Nem invazív: a generált fájlok érintetlenek maradnak (re-generálható), itt csak partial-bővítés.
// A legtöbb mező neve már egyezik az interfésszel → implicit teljesül; ahol eltér (TaxNumber↔VatNumber),
// ott explicit interfész-implementáció map-el.
/// requestId + timestamp — már megvannak a generált típusban, csak az interfész-deklaráció kell.
public partial class BasicHeaderType : INavRequestHeader
{
}
/// user / passwordHash / requestSignature neve egyezik; az adószám az EKÁER-ben VATNumber.
public partial class UserHeaderType : INavUserHeader
{
string INavUserHeader.TaxNumber
{
get => VatNumber;
set => VatNumber = value;
}
}
/// A base-headerhez (Header) és auth-headerhez (User) ad interfész-nézetet.
public partial class BasicRequestType : INavRequest
{
INavRequestHeader INavRequest.RequestHeader => Header;
INavUserHeader INavRequest.UserHeader => User;
}
/// funcCode/reasonCode/msg → a sikeresség-szerződés.
public partial class BaseResultType : INavResult
{
bool INavResult.IsSuccess => FuncCode == FunctionCodeType.Ok;
string? INavResult.ReasonCode => ReasonCode.ToString();
string? INavResult.Message => Msg;
}
/// A válasz top-level (header-szintű) result-jának interfész-nézete.
public partial class BasicResponseType : INavResponse
{
INavResult INavResponse.Result => Result;
}