1.9 KiB
1.9 KiB
FruitBank.Common
@project { type = "product" own-dep-projects = [ "AyCode.Core, AyCode.Entities, AyCode.Interfaces, AyCode.Models, AyCode.Services, AyCode.Utils (in AyCode.Core repo)", "Mango.Nop.Core (in Mango.Nop Libraries repo)" ] }
Shared domain library for the FruitBank nopCommerce plugin. Contains entities, DTOs, interfaces, measurement helpers, SignalR tags, and constants for fruit & vegetable wholesale operations.
Folder Structure
| Folder | Purpose |
|---|---|
Databases/ |
Local in-memory database abstraction for offline/cached data |
Dtos/ |
Binary-serializable DTOs for Order, OrderItem, Product, StockQuantityHistory |
Entities/ |
Domain entities: Shipping, Partner, measurement pallets, inventory |
Enums/ |
MeasuringStatus and DocumentType enums |
Helpers/ |
Measurement aggregation utilities |
Interfaces/ |
SignalR endpoint contracts, measurement traits, entity interfaces |
Loggers/ |
SignalR client log writer |
Models/ |
Authentication state, measurement view models |
Services/ |
Measurement service base, credential persistence |
SignalRs/ |
SignalR method tags (numeric constants) |
Key Files (Root)
FruitBankConstClient.cs— Global constants: BaseUrl, SignalR hubs, database table names, email templates, system settings.DocumentType.cs— Enum: ShippingDocument, OrderConfirmation, Invoice.
Key Domain Concepts
- Shipping = INBOUND (supplier → warehouse), Order = OUTBOUND (warehouse → customer)
- "Pallet" = measurement record, always created even for non-measurable products
- NetWeight = GrossWeight − PalletWeight − (TrayQuantity × TareWeight)
- See
docs/GLOSSARY.mdfor full terminology