24 lines
1.3 KiB
C#
24 lines
1.3 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using AyCode.Services.Nav.Ekaer.Models;
|
|
|
|
namespace AyCode.Services.Nav.Ekaer;
|
|
|
|
/// <summary>
|
|
/// Az EKÁER tradeCard műveletek beküldés-előtti ellenőrzése. A NAV-séma (a generált modellek
|
|
/// <see cref="ValidationAttribute"/>-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.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Á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: <c>Nav/docs/EKAER_VALIDATION.md</c>.
|
|
/// </remarks>
|
|
public interface IEkaerTradeCardValidator
|
|
{
|
|
/// <summary>Egyetlen művelet ellenőrzése. Üres lista = érvényes.</summary>
|
|
IReadOnlyList<ValidationResult> Validate(TradeCardOperationType operation);
|
|
|
|
/// <summary>Több művelet ellenőrzése; a hibák a művelet indexével prefixelve. Üres lista = mind érvényes.</summary>
|
|
IReadOnlyList<ValidationResult> Validate(IEnumerable<TradeCardOperationType> operations);
|
|
}
|