27 lines
1.6 KiB
C#
27 lines
1.6 KiB
C#
using AyCode.Services.Nav.Ekaer.Models;
|
|
using FruitBank.Common.Entities;
|
|
|
|
namespace FruitBank.Common.Services.Ekaer;
|
|
|
|
/// <summary>
|
|
/// FruitBank domain → NAV EKÁER tradeCard leképezés. Egy bejövő <see cref="Shipping"/>-ből
|
|
/// EKÁER tradeCard műveleteket állít elő (dokumentumonként egyet).
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// A NAV-protokollt és az authentikációt NEM kezeli — az az <c>AyCode.Services.Nav</c> réteg
|
|
/// (<c>NavReportServiceBase</c> / <c>EkaerManageService</c>) felelőssége. A tényleges NAV-bejelentést
|
|
/// a szerver-oldali (nopCommerce plugin) service végzi, amely ezt a leképezőt használja. A leképezés
|
|
/// tisztázott pontjai és nyitott döntései a plugin <c>docs/EKAER/README.md</c> és <c>EKAER_TODO.md</c> fájljaiban.
|
|
/// </remarks>
|
|
public interface IShippingToEkaerMapper
|
|
{
|
|
/// <summary>
|
|
/// Leképezi a <paramref name="shipping"/> minden <c>ShippingDocument</c>-jét egy-egy EKÁER tradeCard műveletre.
|
|
/// </summary>
|
|
/// <param name="shipping">A bejövő szállítmány. A fuvarozó/jármű a Shipping szintjén, az eladó/tételek a dokumentum szintjén élnek.</param>
|
|
/// <param name="options">A konfiguráció-függő adatok (destination cég, lerakodási hely, home country).</param>
|
|
/// <param name="operation">A tradeCard művelet típusa. Alapértelmezés: <see cref="OperationType.Create"/>.</param>
|
|
/// <returns>Dokumentumonként egy <see cref="TradeCardOperationType"/>, a beérkezés sorrendjében indexelve.</returns>
|
|
IReadOnlyList<TradeCardOperationType> MapShipping(Shipping shipping, EkaerMappingOptions options, OperationType operation = OperationType.Create);
|
|
}
|