Refactored EKÁER declaration logic to allow one EkaerHistory to reference multiple source documents via a new EkaerHistoryMapping junction table. Removed ForeignKey from EkaerHistory and updated all usages to use the Mappings collection. Updated service, controller, SignalR, and client interfaces to operate by EkaerHistoryId. Adjusted grid UI to display all mapped source IDs. Added EkaerHistoryMapping entity and updated documentation, constants, and ToonDescription attributes accordingly. |
||
|---|---|---|
| .. | ||
| Components | ||
| Databases | ||
| Extensions | ||
| Layout | ||
| Models | ||
| Pages | ||
| Services | ||
| wwwroot | ||
| FruitBankHybrid.Shared.csproj | ||
| README.md | ||
| Routes.razor | ||
| _Imports.razor | ||
| appsettings.json | ||
README.md
FruitBankHybrid.Shared
@project { type = "product" own-dep-projects = [ "AyCode.Core, AyCode.Entities, AyCode.Interfaces, AyCode.Models, AyCode.Services, AyCode.Services.Server, AyCode.Utils (in AyCode.Core repo)", "AyCode.Blazor.Components (in AyCode.Blazor repo)", "Mango.Nop.Core (in Mango.Nop Libraries repo)" ] }
Main Blazor UI library shared across all three deployment targets (Server, WASM, MAUI). Contains pages, DevExpress grid components, SignalR client, measurement service, and layout.
Folder Structure
| Folder | Purpose |
|---|---|
Components/ |
DevExpress grid wrappers, pallet components, notifications |
Pages/ |
Routed pages: Login, ShippingsAdmin, OrdersAdmin, MeasuringIn/Out, StockTaking |
Services/ |
SignalR client, measurement service, form factor, loggers |
Layout/ |
MainLayout with navigation, auto-login, toast notifications |
Models/ |
Date selector model for measuring pages |
Extensions/ |
DevExpress MessageBox/ConfirmBox helpers |
Databases/ |
Client-side ConcurrentDictionary table cache |
Key Files (Root)
_Imports.razor— Global Blazor imports.Routes.razor— Route definitions.appsettings.json— Canonical configuration source for all three hosts (Web, Web.Client, MAUI). Edit ONLY here. Pull mechanism per host: seedocs/ARCHITECTURE.md(in repo root) → "Shared Configuration".
Target Framework
.NET 10.0 with AOT compilation and WASM IL stripping enabled.