Add EKÁER XML support for outgoing orders, refactor config
- Introduced IEkaerSettings interface and refactored code to use it for DI/testability - Added support for generating EKÁER XML from outgoing orders (OrderDto) - Extended service and mapper interfaces for outgoing order handling - Implemented MapOrder and value calculation for order items - Replaced UnloadLocation with Site in EkaerCompanyInfo for general site usage - Updated tests, SignalR/controller interfaces, and UI to support new features and signatures - Improved documentation and code clarity throughout
This commit is contained in:
parent
ecc8c97a80
commit
52541628f9
|
|
@ -22,6 +22,7 @@ public sealed class EkaerCompanyInfo : ICompanyInfoBase
|
||||||
|
|
||||||
public string? FullAddress => this.ComposeFullAddress();
|
public string? FullAddress => this.ComposeFullAddress();
|
||||||
|
|
||||||
/// <summary>A saját telephely / lerakodási hely. Magyar címnél a NAV a Name/VatNumber/Phone/Email-t is megköveteli.</summary>
|
/// <summary>A bejelentő saját telephelye (fizikai fel-/lerakodási hely): bejövőnél lerakodás, kimenőnél felrakodás.
|
||||||
public LocationType? UnloadLocation { get; set; }
|
/// Magyar címnél a NAV a Name/VatNumber/Phone/Email-t is megköveteli.</summary>
|
||||||
|
public LocationType? Site { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
namespace AyCode.Services.Nav.Ekaer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Általános EKÁER-konfiguráció kontraktus — bármely bejelentő projekt implementálja: a bejelentő cégadata
|
||||||
|
/// (a telephely fel-/lerakodási hellyel), a deviza→HUF árfolyam és a bejelentési küszöbök. Read-only; a konkrét,
|
||||||
|
/// config-kötött beállítást a DI szolgáltatja — ugyanúgy, mint az <see cref="INavCredentials"/>-t.
|
||||||
|
/// A kettő szándékosan KÜLÖN kontraktus: az <c>INavCredentials</c> a NAV-hitelesítés (transport/titok), ez pedig
|
||||||
|
/// a bejelentés üzleti tartalma — más a fogyasztójuk és más a változási okuk (ISP / Single Responsibility).
|
||||||
|
/// </summary>
|
||||||
|
public interface IEkaerSettings
|
||||||
|
{
|
||||||
|
/// <summary>A bejelentő saját cégadatai (eladó/címzett + a <see cref="EkaerCompanyInfo.Site"/> telephely).</summary>
|
||||||
|
EkaerCompanyInfo Company { get; }
|
||||||
|
|
||||||
|
/// <summary>EUR→HUF árfolyam a tétel-érték HUF-ra számításához (HUF feladónál nem használt).</summary>
|
||||||
|
double EurHufRate { get; }
|
||||||
|
|
||||||
|
/// <summary>Tömeg-küszöb kg-ban: e felett (vagy az érték-küszöb felett) kell EKÁER.</summary>
|
||||||
|
double ThresholdWeightKg { get; }
|
||||||
|
|
||||||
|
/// <summary>Érték-küszöb HUF-ban (nettó): e felett (vagy a tömeg-küszöb felett) kell EKÁER.
|
||||||
|
/// <c>int</c> elég: a legmagasabb EKÁER-küszöb 5 millió Ft (a tétel-érték maga viszont long — 11 jegyű).</summary>
|
||||||
|
int ThresholdValueHuf { get; }
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue