45 lines
1.7 KiB
C#
45 lines
1.7 KiB
C#
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.
|
|
|
|
/// <summary>requestId + timestamp — már megvannak a generált típusban, csak az interfész-deklaráció kell.</summary>
|
|
public partial class BasicHeaderType : INavRequestHeader
|
|
{
|
|
}
|
|
|
|
/// <summary>user / passwordHash / requestSignature neve egyezik; az adószám az EKÁER-ben <c>VATNumber</c>.</summary>
|
|
public partial class UserHeaderType : INavUserHeader
|
|
{
|
|
string INavUserHeader.TaxNumber
|
|
{
|
|
get => VatNumber;
|
|
set => VatNumber = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>A base-headerhez (Header) és auth-headerhez (User) ad interfész-nézetet.</summary>
|
|
public partial class BasicRequestType : INavRequest
|
|
{
|
|
INavRequestHeader INavRequest.RequestHeader => Header;
|
|
INavUserHeader INavRequest.UserHeader => User;
|
|
}
|
|
|
|
/// <summary>funcCode/reasonCode/msg → a sikeresség-szerződés.</summary>
|
|
public partial class BaseResultType : INavResult
|
|
{
|
|
bool INavResult.IsSuccess => FuncCode == FunctionCodeType.Ok;
|
|
string? INavResult.ReasonCode => ReasonCode.ToString();
|
|
string? INavResult.Message => Msg;
|
|
}
|
|
|
|
/// <summary>A válasz top-level (header-szintű) result-jának interfész-nézete.</summary>
|
|
public partial class BasicResponseType : INavResponse
|
|
{
|
|
INavResult INavResponse.Result => Result;
|
|
}
|