Introduced IAppTitleService for platform-agnostic environment badge in the app title ("[PROD]" or "[DEV] FruitBank"), with implementations for Web (document.title), MAUI (window title), and server (no-op). Registered the service per platform in DI. MainLayout now updates the title reactively on environment changes via FruitBankConstClient.IsProdChanged. Improved event handling and prevented redundant environment hydration calls. No business logic affected; changes are UI/infrastructure only.
|
||
|---|---|---|
| .. | ||
| Databases | ||
| Dtos | ||
| Entities | ||
| Enums | ||
| Helpers | ||
| Interfaces | ||
| Loggers | ||
| Models | ||
| Services | ||
| SignalRs | ||
| docs | ||
| DocumentType.cs | ||
| FruitBank.Common.csproj | ||
| FruitBankConstClient.cs | ||
| README.md | ||
README.md
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