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; }