using System.ComponentModel.DataAnnotations; using AyCode.Services.Nav.Ekaer.Models; namespace AyCode.Services.Nav.Ekaer; /// /// Az EKÁER tradeCard műveletek beküldés-előtti ellenőrzése. A NAV-séma (a generált modellek /// -jai: Required / pattern / hossz) ÉS az XSD-n felüli üzleti szabályok /// (pl. a vonó jármű kötelező) ellenőrzése. Minden hibát összegyűjt — nem az elsőnél áll meg. /// /// /// Általános NAV/EKÁER réteg — nem ismer projekt-specifikus (pl. FruitBank) típust, csak a generált modelleket. /// A hívó (pl. a szerver-oldali EKÁER-service) a beküldés ELŐTT hívja: ha a visszaadott lista nem üres, /// a bejelentés NEM küldhető. A NAV-validációs szabályok kivonata: Nav/docs/EKAER_VALIDATION.md. /// public interface IEkaerTradeCardValidator { /// Egyetlen művelet ellenőrzése. Üres lista = érvényes. IReadOnlyList Validate(TradeCardOperationType operation); /// Több művelet ellenőrzése; a hibák a művelet indexével prefixelve. Üres lista = mind érvényes. IReadOnlyList Validate(IEnumerable operations); }