using AyCode.Services.Nav.Ekaer;
using AyCode.Services.Nav.Ekaer.Models;
using FruitBank.Common.Entities;
namespace FruitBank.Common.Services.Ekaer;
///
/// FruitBank domain → NAV EKÁER tradeCard leképezés. Egy bejövő -ből
/// EKÁER tradeCard műveleteket állít elő (dokumentumonként egyet).
///
///
/// A NAV-protokollt és az authentikációt NEM kezeli — az az AyCode.Services.Nav réteg felelőssége.
/// A feladót (beszállító Partner) és a saját céget () egységesen,
/// -ként kezeli.
///
public interface IShippingToEkaerMapper
{
///
/// Leképezi a minden ShippingDocument-jét egy-egy EKÁER tradeCard műveletre.
///
/// A bejövő szállítmány (fuvarozó/jármű a Shipping szintjén, eladó/tételek a dokumentum szintjén).
/// A bejelentő saját cégadatai (címzett bejövő relációban) + a lerakodási hely.
/// A tradeCard művelet típusa. Alapértelmezés: .
IReadOnlyList MapShipping(Shipping shipping, EkaerCompanyInfo company, OperationType operation = OperationType.Create);
}