FruitBankHybridApp/FruitBank.Common/Entities
Loretta 45195b9cdf Add LLM onboarding docs and standardize project READMEs
- Introduced `.github/copilot-instructions.md` as the single source of truth for domain rules, conventions, and pitfalls in each solution.
- Added `CLAUDE.md` to guide Claude to read domain rules, glossary, and README before code generation.
- Updated all solution and project `README.md` files to document project purpose, structure, key files, and LLM context (Copilot/Claude/Cursor).
- Added or revised `docs/ARCHITECTURE.md`, `docs/CONVENTIONS.md`, and `docs/GLOSSARY.md` to clarify dependency graphs, naming, patterns, and terminology.
- For FruitBankHybridApp, added `docs/SCHEMA.md` (Toon format) and expanded the glossary with business/measurement terms and common traps.
- Updated all subfolder READMEs to list key files, conventions, and LLM maintenance notes.
- Ensured all documentation is cross-referenced, up-to-date, and includes explicit instructions for LLMs to keep docs in sync with code and avoid suggesting removal/rollback as a solution.
- Standardized documentation and onboarding for maintainability and LLM/code quality across all solutions.
2026-03-28 22:38:23 +01:00
..
Files.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
MeasuringItemPalletBase.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
OrderItemPallet.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
Pallet.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
Partner.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
README.md Add LLM onboarding docs and standardize project READMEs 2026-03-28 22:38:23 +01:00
Shipping.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
ShippingDocument.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
ShippingDocumentToFiles.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
ShippingItem.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
ShippingItemPallet.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
StockQuantityHistoryExt.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
StockTaking.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
StockTakingItem.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00
StockTakingItemPallet.cs Enable source-generated binary serialization & AOT 2026-03-07 14:05:39 +01:00

README.md

Entities

Domain entities for inbound/outbound goods tracking and inventory. All map to fb-prefixed database tables.

Shipping (Inbound)

  • Shipping.cs — Physical delivery event (truck arrival). Table: fbShipping.
  • ShippingDocument.cs — Supplier delivery note/invoice. Table: fbShippingDocument.
  • ShippingItem.cs — Product line on document with declared vs measured discrepancies. Table: fbShippingItem.
  • ShippingItemPallet.cs — Measurement record for incoming goods. Table: fbShippingItemPallet.
  • ShippingDocumentToFiles.cs — Many-to-many link: document ↔ file with DocumentType. Table: fbShippingDocumentToFiles.
  • Partner.cs — External supplier with address and tax info. Table: fbPartner.

Order (Outbound)

  • OrderItemPallet.cs — Measurement record for outgoing goods with RevisorId for audit. Table: fbOrderItemPallet.

Inventory

  • StockTaking.cs — Inventory session record. Table: fbStockTaking.
  • StockTakingItem.cs — Line item reconciling snapshot vs measured quantities. Table: fbStockTakingItem.
  • StockTakingItemPallet.cs — Measurement record for inventory. Table: fbStockTakingItemPallet.
  • StockQuantityHistoryExt.cs — Extended weight metadata for stock reconciliation.

Shared

  • MeasuringItemPalletBase.cs — Abstract base for all three measurement hierarchies. Defines NetWeight formula, validation methods, CreatorId/ModifierId tracking.
  • Pallet.cs — Physical pallet type definition (name, size, weight). Table: fbPallet.
  • Files.cs — Uploaded file with OCR-extracted RawText. Table: fbFiles.

Critical: "Pallet" Naming

Despite the name, XxxItemPallet entities are measurement records, NOT physical pallets. They are ALWAYS created for every item. For non-measurable products, weights = 0.0 and only TrayQuantity is tracked.


LLM Maintenance: If you modify code in this folder, update this README to reflect the changes. If you notice the README content does not match the current code, automatically update the README to match the code.