Refactor SignalR client DI and config, add test factory Refactored FruitBankSignalRClient construction to use DI and centralized configuration from appsettings.json across all platforms. Introduced TestSignalRClientFactory for consistent test setup. Added FruitBankHubConnectionExtensions for reusable SignalR connection and logging configuration. Updated Program.cs and MauiProgram.cs to register logger factories, log writers, and IHubConnectionBuilder via DI. Embedded appsettings.json in MAUI and updated .csproj references for build flexibility. No business logic changes; all updates are infrastructure and test setup. |
||
|---|---|---|
| .. | ||
| Components | ||
| Databases | ||
| Extensions | ||
| Layout | ||
| Models | ||
| Pages | ||
| Services | ||
| wwwroot | ||
| FruitBankHybrid.Shared.csproj | ||
| README.md | ||
| Routes.razor | ||
| _Imports.razor | ||
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.
Target Framework
.NET 10.0 with AOT compilation and WASM IL stripping enabled.