FruitBankHybridApp/FruitBank.Common/Interfaces/README.md

30 lines
1.6 KiB
Markdown

# Interfaces
SignalR endpoint contracts, measurement composition traits, and entity interfaces.
## SignalR Endpoints
- **`IFruitBankDataControllerCommon.cs`** / **`Client.cs`** — Core CRUD: Partners, Shipping, ShippingDocuments, ShippingItems, ShippingItemPallets, Products, Customers, GenericAttributes.
- **`ICustomOrderSignalREndpointCommon.cs`** / **`Client.cs`** — Order operations: GetAllOrderDtos, GetPendingOrderDtos, OrderItem/Pallet management, StartMeasuring, SetOrderStatusToComplete.
- **`IStockSignalREndpointCommon.cs`** / **`Client.cs`** — Inventory: StockTaking, StockTakingItem, StockTakingItemPallet CRUD, CloseStockTaking.
## Measurement Traits (Composition Pattern)
- **`IMeasuringValues`** = IMeasuringWeights + IMeasuringQuantity
- **`IMeasuringWeights`** = IMeasuringNetWeight + IMeasuringGrossWeight
- **`IMeasurable`** — IsMeasurable flag
- **`IMeasured`** — IsMeasured flag
- **`IMeasurableStatus`** — MeasuringStatus property
- **`IMeasuringItemPalletBase`** — Full measurement contract with validation
## Entity & DTO Interfaces
- **`IPallet`**, **`IPartner`**, **`IShipping`**, **`IShippingDocument`**, **`IShippingItem`**, **`IShippingItemPallet`**, **`IFiles`**
- **`IOrderDto`**, **`IOrderItemDto`**, **`IProductDto`**, **`IStockQuantityHistoryDto`**
- **`ITare`**, **`IAvailableQuantity`**, **`IIncomingQuantity`** — Quantity/weight property interfaces
## Service Interfaces
- **`IMeasurementServiceBase<TLogger>`** — Base service marker
- **`ISecureCredentialService`** — Save/retrieve/clear credentials with 2-day expiration