39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
# 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/`](Databases/README.md) | Local in-memory database abstraction for offline/cached data |
|
||
| [`Dtos/`](Dtos/README.md) | Binary-serializable DTOs for Order, OrderItem, Product, StockQuantityHistory |
|
||
| [`Entities/`](Entities/README.md) | Domain entities: Shipping, Partner, measurement pallets, inventory |
|
||
| [`Enums/`](Enums/README.md) | MeasuringStatus and DocumentType enums |
|
||
| [`Helpers/`](Helpers/README.md) | Measurement aggregation utilities |
|
||
| [`Interfaces/`](Interfaces/README.md) | SignalR endpoint contracts, measurement traits, entity interfaces |
|
||
| [`Loggers/`](Loggers/README.md) | SignalR client log writer |
|
||
| [`Models/`](Models/README.md) | Authentication state, measurement view models |
|
||
| [`Services/`](Services/README.md) | Measurement service base, credential persistence |
|
||
| [`SignalRs/`](SignalRs/README.md) | 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.md` for full terminology
|