Merge branch 'FruitBank_v0.0.8.2' of https://git.aycode.com/Adam/Mango.Nop.Plugins into FruitBank_v0.0.8.2

This commit is contained in:
2026-08-20 22:16:55 +02:00
+19 -10
View File
@@ -1,7 +1,7 @@
# Domain Model Schema (Toon Format)
> **Generated — do not hand-edit below `@meta`.** Change the `[ToonDescription]` attributes and regenerate.
> **Generated: 2026-08-10.**
> **Generated: 2026-08-20.**
> **Not necessarily the whole data model** — it holds the types the generator was given, plus their relations. NopCommerce's own are omitted as already known. Absence here never means the type does not exist.
@@ -27,6 +27,7 @@
SendError = 4
GeneratedWithWarning = 5
SentWithMissingData = 6
Finalized = 7
OrderStatus: enum
underlying-type: "int"
@@ -394,12 +395,12 @@
table-name: "fbEkaerHistory"
purpose: "Work-queue and audit row for one EKÁER road-freight declaration. The source records hang off EkaerHistoryMapping, not here: inbound, the allocations of one (Shipping, Partner, PartnerDepot) group aggregated into a single tradeCard; outbound, a single completed Order. Tracks the declaration through generation, validation and submission to the Hungarian tax authority (NAV)."
ConversionRate: double?
purpose: "The conversion rate actually applied when computing this declaration's item values to HUF: 1 for domestic (HUF) suppliers (no conversion), the FX rate (e.g. EUR→HUF) for foreign suppliers. Null before the first Generate. Works for any source currency. Audit trail: the invoice amount times this rate yields the HUF value in the tradeCard; the NAV schema has no rate field, so this column preserves how the value was derived."
purpose: "The conversion rate applied to this declaration's item values: 1 for a HUF supplier, the FX rate (e.g. EUR→HUF) otherwise. Null before the first Generate."
Created: DateTime
EkaerNumber: string
purpose: "The EKÁER number (TCN) assigned by NAV after a successful submission. Null until the declaration is accepted."
purpose: "The EKÁER number (TCN) assigned by NAV. Null until the declaration is accepted."
ErrorText: string
purpose: "Validation or NAV submission error details for the ValidationError / SendError states. Null when the last operation succeeded."
purpose: "Validation and NAV messages, one per line, blocking ones first. Null when the last operation had nothing to report."
IsOutgoing: bool
purpose: "Direction of the goods movement: false = incoming shipment (Shipping), true = outgoing delivery (Order)."
Mappings: List<EkaerHistoryMapping>
@@ -407,19 +408,23 @@
navigation: "one-to-many"
inverse-property: "EkaerHistory"
Modified: DateTime
NavStatus: string
purpose: "The declaration's status at NAV, as NAV reports it: P (Prepare) / S (Start) / F (Finalized) / I (Inactive) / D (Deleted). Null until the declaration is accepted."
NavXmlDoc: string
purpose: "The NAV's own record of the declaration, as XML: the tradeCardInfo the submission answered with. Null until the declaration is accepted."
Partner: string
purpose: "Declaration-level other-party name snapshot (group-invariant): inbound = the supplier Partner.Name, outbound = the buyer Customer.Company. Set at create, refreshed on Generate. NO fallback — null/empty if missing."
purpose: "Declaration-level other-party name snapshot (group-invariant): inbound = the supplier Partner.Name, outbound = the buyer Customer.Company. No fallback — null or empty if the source has none."
SentDate: DateTime?
purpose: "When the declaration was successfully submitted to NAV. Null until sent."
purpose: "When the declaration was submitted to NAV. Null until sent."
ShippingDate: DateTime?
purpose: "Declaration-level date snapshot (group-invariant): inbound = the ShippingDocument's ShippingDate, outbound = the Order's DateOfReceipt. Set at create, refreshed on Generate. NO fallback — null if missing (the data gap is visible in the grid)."
purpose: "Declaration-level date snapshot (group-invariant): inbound = the ShippingDocument's ShippingDate, outbound = the Order's DateOfReceipt. No fallback — null if the source has none."
Status: EkaerStatus
constraints: "not-mapped"
StatusId: int
purpose: "Lifecycle state of the declaration, stored as int (see EkaerStatus). Pending is set at record creation, before the first Generate; every later state is written by the generate or the submit path, with the reason in ErrorText."
purpose: "Lifecycle state of the declaration, stored as int (see EkaerStatus)."
constraints: "enum-type: EkaerStatus"
XmlDoc: string
purpose: "The generated NAV EKÁER tradeCard request XML exactly as it was (or will be) submitted — audit copy and source of the read-only detail view. Null until the first Generate."
purpose: "The generated NAV EKÁER tradeCard request XML, as submitted. Null until the first Generate."
Id: int
purpose: "Primary key / unique identification"
primary-key: true
@@ -760,7 +765,9 @@
Comment: string
Country: string
Created: DateTime
CurrencyCode: string
DocumentIdNumber: string
FxRate: decimal
IsAllMeasured: bool
purpose: "Status flag"
Modified: DateTime
@@ -846,6 +853,7 @@
Modified: DateTime
Name: string
NameOnDocument: string
NetTotalOnDocument: decimal
NetWeightOnDocument: double
Pallet: Pallet
purpose: "The pallet STANDARD (size/weight template), not the measurements - those are ShippingItemPallets. NOT IN USE: always null"
@@ -856,7 +864,7 @@
PalletId: int?
purpose: "FK to the Pallet standard (size/weight template), NOT to the measurements. NOT IN USE: always null"
Pallets: double
purpose: "The item's ACTUAL pallet demand, fractional. Calculated from the crates-per-pallet ratio, overridable, recalculated on quantity change. Measurement tasks = ceil(Pallets); truck slots = floor(Pallets) + the remainder pooled per PalletGroupNo."
purpose: "The item's ACTUAL pallet demand, fractional. Calculated as crates / CratesPerPallet, admin-overridable, recalculated on quantity change. Measurement tasks = ceil(Pallets); truck slots = floor(Pallets) + the remainder pooled per PalletGroupNo."
PalletsOnDocument: int
ProductDto: ProductDto
foreign-key: "ProductId"
@@ -876,6 +884,7 @@
navigation: "one-to-many"
inverse-property: "ShippingItem"
UnitPriceOnDocument: double
VatRate: decimal
Id: int
purpose: "Primary key / unique identification"
primary-key: true