34 lines
1.5 KiB
C#
34 lines
1.5 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using AyCode.Services.Nav.Ekaer.Models;
|
|
|
|
namespace AyCode.Services.Nav.Ekaer;
|
|
|
|
/// <summary>
|
|
/// 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).
|
|
/// </summary>
|
|
public sealed class EkaerSubmitResult
|
|
{
|
|
private EkaerSubmitResult(bool isValid, IReadOnlyList<ValidationResult> validationErrors, ManageTradeCardsResponse? response)
|
|
{
|
|
IsValid = isValid;
|
|
ValidationErrors = validationErrors;
|
|
Response = response;
|
|
}
|
|
|
|
/// <summary>Igaz, ha a validáció hibátlan volt (és így a beküldés megtörtént).</summary>
|
|
public bool IsValid { get; }
|
|
|
|
/// <summary>A validációs hibák (üres, ha érvényes volt). Ha nem üres, a bejelentés NEM lett elküldve.</summary>
|
|
public IReadOnlyList<ValidationResult> ValidationErrors { get; }
|
|
|
|
/// <summary>A NAV-válasz, ha a beküldés megtörtént; egyébként <c>null</c>.</summary>
|
|
public ManageTradeCardsResponse? Response { get; }
|
|
|
|
/// <summary>Validációs hibák miatt elutasított beküldés (nem ment ki kérés a NAV-nak).</summary>
|
|
public static EkaerSubmitResult Invalid(IReadOnlyList<ValidationResult> validationErrors) => new(false, validationErrors, null);
|
|
|
|
/// <summary>Sikeresen elküldött beküldés, a NAV-válasszal.</summary>
|
|
public static EkaerSubmitResult Sent(ManageTradeCardsResponse response) => new(true, [], response);
|
|
}
|