using System.ComponentModel.DataAnnotations; using AyCode.Services.Nav.Ekaer.Models; namespace AyCode.Services.Nav.Ekaer; /// /// Egy EKÁER beküldési kísérlet eredménye: vagy validációs hibák (ekkor NEM ment ki kérés a NAV-nak), /// vagy a NAV-válasz (sikeres beküldés). /// public sealed class EkaerSubmitResult { private EkaerSubmitResult(bool isValid, IReadOnlyList validationErrors, ManageTradeCardsResponse? response) { IsValid = isValid; ValidationErrors = validationErrors; Response = response; } /// Igaz, ha a validáció hibátlan volt (és így a beküldés megtörtént). public bool IsValid { get; } /// A validációs hibák (üres, ha érvényes volt). Ha nem üres, a bejelentés NEM lett elküldve. public IReadOnlyList ValidationErrors { get; } /// A NAV-válasz, ha a beküldés megtörtént; egyébként null. public ManageTradeCardsResponse? Response { get; } /// Validációs hibák miatt elutasított beküldés (nem ment ki kérés a NAV-nak). public static EkaerSubmitResult Invalid(IReadOnlyList validationErrors) => new(false, validationErrors, null); /// Sikeresen elküldött beküldés, a NAV-válasszal. public static EkaerSubmitResult Sent(ManageTradeCardsResponse response) => new(true, [], response); }