Rename ShallowCopy to FlatCopy, add polymorph support - Renamed all "ShallowCopy" serializer presets and references to "FlatCopy" for clarity and consistency. - Expanded documentation to clarify flat serialization use cases, especially for delta-update and partial-write scenarios. - Added EnablePolymorphDetectFeature to AcBinarySerializableAttribute and updated all constructor overloads. - Set UsePolymorphType = true in AcBinarySourceGenerator to enable polymorphic type support by default. - Updated all [AcBinarySerializable(...)] usages to include new feature flags, explicitly disabling property filter and polymorph detection for affected types. - Improved comments and documentation for maintainability. |
||
|---|---|---|
| .. | ||
| 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