FruitBankHybridApp/FruitBank.Common/Services/Ekaer/EkaerMappingOptions.cs

37 lines
1.9 KiB
C#

using AyCode.Services.Nav.Ekaer.Models;
namespace FruitBank.Common.Services.Ekaer;
/// <summary>
/// A <see cref="ShippingToEkaerMapper"/> konfiguráció-függő bemenetei, amelyek NEM a <c>Shipping</c>-ből
/// származnak: a bejelentő (FruitBank) mint címzett/destination cégadatai, a lerakodási hely (saját raktár),
/// és a saját országkód a tradeType irány meghatározásához.
/// </summary>
/// <remarks>Ezek később a szerver-oldali plugin beállításaiból (settings) töltődnek — lásd a plugin <c>docs/EKAER/EKAER_TODO.md</c> #2.</remarks>
public sealed class EkaerMappingOptions
{
/// <summary>A bejelentő (FruitBank) neve — a tradeCard <c>destinationName</c>-je bejövő relációban.</summary>
public string? DestinationName { get; set; }
/// <summary>A bejelentő adószáma (<c>destinationVatNumber</c>). Pattern: <c>[0-9A-Z-]{1,15}</c>.</summary>
public string? DestinationVatNumber { get; set; }
/// <summary>A bejelentő országkódja (2 betű). Alapértelmezés: <c>HU</c>.</summary>
public string DestinationCountryCode { get; set; } = "HU";
/// <summary>A bejelentő címe egybeírva (<c>destinationAddress</c>, max 200).</summary>
public string? DestinationAddress { get; set; }
/// <summary>
/// A lerakodási / raktározási hely (a saját raktár). Magyar cím esetén a Name/VatNumber/Phone/Email
/// kitöltése kötelező — ezért kész <see cref="LocationType"/>-ként adjuk át (a plugin-konfigból összeállítva).
/// </summary>
public LocationType? UnloadLocation { get; set; }
/// <summary>
/// A bejelentő saját országkódja a tradeType meghatározásához: ha a feladó (beszállító) országa
/// ezzel egyezik → <c>D</c> (belföld-belföld), egyébként → <c>I</c> (import). Alapértelmezés: <c>HU</c>.
/// </summary>
public string HomeCountryCode { get; set; } = "HU";
}