Refactored EKÁER logic to use EkaerHistoryMapping junction table, decoupling EkaerHistory from direct foreign keys. Grouped inbound declarations by (ShippingId, PartnerId, PartnerDepotId) and enabled atomic creation of histories with mappings. Updated controller endpoints, DI registration, and documentation. Improved error handling, logging, and adjusted method signatures for the new mapping-based approach. |
||
|---|---|---|
| .. | ||
| EKAER | ||
| PREORDER | ||
| SIGNALR | ||
| AI_SERVICES.md | ||
| CONVENTIONS.md | ||
| DATA_LAYER.md | ||
| DOMAIN_MODEL.md | ||
| MEASUREMENT.md | ||
| README.md | ||
| SCHEMA.md | ||
README.md
Nop.Plugin.Misc.AIPlugin (FruitBank plugin) documentation
Topic documentation for the FruitBank-specific NopCommerce plugin (Layer 3 — consumer).
Reference docs (flat)
AI_SERVICES.md— AI-related service integrationsDATA_LAYER.md— Data access specifics for this pluginSCHEMA.md— Database schema (Toon format — LLM-optimized)DOMAIN_MODEL.md— Business domain behaviorMEASUREMENT.md— Weight measurement logic (NetWeight formula, MeasuringStatus lifecycle)
Topic folders
SIGNALR/— SignalR endpoints exposed by this plugin (project-specific variant)PREORDER/— Customer pre-order workflow: advance orders converted to real orders on incoming stock (+PREORDER_ISSUES.md/PREORDER_TODO.md)
Navigation
Per the AI Agent Core Protocol (folder navigation rule), start from this README when browsing docs/. Single-file reference docs remain flat; project-specific variants of framework topics (like SIGNALR) live in named subfolders.
Critical reminders (inherited from domain)
MeasuringStatus.Finnishedis an intentional typo — do NOT "fix" the spelling (database-level value).- Weight formula:
NetWeight = GrossWeight - PalletWeight - (TrayQuantity * TareWeight). - MeasuringStatus lifecycle: NotStarted(0) → Started(10) → Finnished(20) → Audited(30).
See also
- Parent framework (Mango.Nop.Core):
../../../Libraries/Mango.Nop.Core/docs/README.md - Client-side app:
../../../../../FruitBankHybridApp/docs/README.md - Host (nopCommerce deployment):
../../../../../FruitBank/(see.github/copilot-instructions.mdfor scope)