FruitBankHybridApp/FruitBank.Common/Entities/README.md

2.1 KiB

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.