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); /// /// EGY szállítólevelet () képez le egy tradeCard-dá — a dokumentum-szintű /// EKÁER-granularitás egysége (1 dokumentum = 1 tradeCard = 1 TCN). A jármű/fuvarozó adatok a /// document.Shipping-ből jönnek; ha az nincs betöltve, ezek üresen maradnak (a validátor jelzi). /// TradeCardType MapDocument(ShippingDocument document, EkaerCompanyInfo company); }