Commit Graph

55 Commits

Author SHA1 Message Date
Loretta 711c3c8ec0 Framework-first doctrine, DI logger factory, config refactor
Introduced framework-first design rules and updated documentation to clarify framework vs. consumer boundaries. Added AcLoggerOptions and DI-based logger factory extensions to AyCode.Core, enabling per-category logger instantiation from appsettings.json. Standardized SignalR connection setup with AddAcDefaults, replacing project-specific code. Enhanced protocol configuration for DI scope isolation. Refactored appsettings.json structure and added MSBuild targets for config propagation. Removed obsolete code and updated comments to match new patterns.
2026-04-23 16:11:22 +02:00
Loretta 33d84a8257 [LOADED_DOCS: .github\copilot-instructions.md, C:\Users\Fullepi\copilot-instructions.md]
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.
2026-04-22 22:45:32 +02:00
Loretta 10f325cc26 Refactor SignalR binary protocol for extensibility
- Move SignalParams-aware deserialization logic from AcBinaryHubProtocol to new AyCodeBinaryHubProtocol, enabling project-specific customization.
- Make key deserialization and helper methods in AcBinaryHubProtocol protected and virtual for easier extension.
- Improve byte[] handling to distinguish between AcBinary-serialized and raw data.
- Remove diagnostic serialization verification from the base protocol.
- Update DI registration to use AyCodeBinaryHubProtocol with configurable options.
- Adjust client code to support object-based response data and raw byte handling.
- Comment out SignalResponseDataMessage diagnostic logger in Program.cs.
2026-04-09 08:12:50 +02:00
Loretta 26b40cf7a1 Refactor MessageReceived to use new SignalR param types
Updated the MessageReceived method signature to accept SignalParams and SignalData instead of SignalReceiveParams and byte[]. Adjusted internal usage to reflect these new types, improving consistency with updated SignalR client structures.
2026-04-06 22:45:26 +02:00
Loretta 27ac2d1843 Refactor SignalR message handling in FruitBankSignalRClient
Update MessageReceived to use SignalReceiveParams and construct
SignalResponseDataMessage with more context. Add AyCode.Core.Serializers
using directive for serializer type support.
2026-04-05 09:31:06 +02:00
Loretta e2c49940c6 Update docs: enforce .md sync, clarify structure & TFMs
Expanded and clarified solution/project documentation:
- Added all top-level docs and docs/ folder as solution items in .sln files
- Inserted maintenance notices in all project and subfolder READMEs: require .md sync with code
- Main READMEs now include project tables with TFM, purpose, and README links
- ARCHITECTURE.md now details dependency graph and TFM rationale
- CONVENTIONS.md and copilot-instructions.md require code reuse, no redundancy
- Glossary and conventions updated to require terminology/rule updates with code changes
- Emphasized DLL-only AyCode.Core refs and nopCommerce .NET 9.0 requirement
- Clarified domain terms and intentional typos
- No code logic changes; documentation and guidance only
2026-03-29 09:26:16 +02:00
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
Loretta fcd7866d09 Refactor measuring UI, centralize status logic
- Reworked MeasuringIn to use tabbed interface with card view and improved form layout
- Unified status badge/text/color logic via new MeasurementService helpers
- Updated MeasuringOut to use centralized status display and improved order note handling
- Added shipping date column to GridShippingDocument
- Improved link styling in MgGridDataColumn
- Removed redundant code and applied minor UI/layout tweaks for consistency and maintainability
2026-03-23 17:43:06 +01:00
Loretta f5915f7f72 Add RefreshStockTakingItem support and UI error handling
Updated SignalR interface and tags to support refreshing
individual StockTakingItems. Improved StockTakingTemplate.razor
to show error messages and allow item refresh when invalid.
Removed unused method and updated project reference to
SignalR.Core 9.0.13.
2026-03-04 15:22:51 +01:00
Loretta 0368f0809a Add stock taking close functionality and UI improvements
- Added CloseStockTaking method to IStockSignalREndpointCommon and implemented it in FruitBankSignalRClient.
- Renamed IsEditable to Editable in PalletItemComponent.razor and updated all usages.
- Updated StockTakingTemplate.razor: "Módosít" button is now always disabled, "Lezárás" button is enabled only when appropriate, and form layouts are disabled when stock taking is closed.
- Improved async UI updates by using InvokeAsync(StateHasChanged).
- Enhanced order note display and added warning state for invalid average weight in MeasuringOut.razor.
2026-01-09 11:10:15 +01:00
Loretta 22821a4b27 Add URL link support to grid columns and info panel
- Introduced UrlLink parameter to MgGridDataColumn for clickable cell links with property placeholder support.
- Updated MgGridInfoPanel to render links for columns with UrlLink.
- Added unit tests for UrlLink rendering and value replacement.
- Added DynamicColumnAddingEventArgs and OnDynamicColumnAttributeAdding for dynamic column customization.
- Refactored layout storage key logic and enabled persistent info panel splitter size in MgGridWithInfoPanel.
- Updated product/order grids to use MgGridDataColumn with UrlLink and switched ProductDtos to AcObservableCollection for reactivity.
- Added AddPartner method to IFruitBankDataControllerCommon and FruitBankSignalRClient.
- Miscellaneous fixes: logger initialization, code cleanup, and improved comments.
2025-12-22 14:37:56 +01:00
Loretta d27f53453f Refactor fullscreen grid UI; add serializer diagnostics/tests
- Replaced DxWindow with custom Bootstrap 5 fullscreen overlay for grid components, improving fullscreen UX and styling.
- Added new CSS for fullscreen overlay, header, and body; retained legacy DxWindow styles for compatibility.
- Introduced SignalRSerializerDiagnosticLog flag to control binary serializer diagnostics at runtime.
- Enabled diagnostics in DevAdminSignalRHub, FruitBankSignalRClient, and Program.cs based on the new flag.
- Updated OrderClientTests to use GetStockTakings(false).
- Added StockTakingSerializerTests for binary serialization/deserialization validation and debugging.
2025-12-20 08:40:03 +01:00
Loretta 80a1ce6a44 Refactor SignalR handling; add stock history tab
Refactored SignalR message handling to use strongly-typed SignalResponseDataMessage objects instead of JSON strings, updating event signatures and deserialization logic in MainLayout, MeasuringOut, and FruitBankSignalRClient. Added a new "Stock quantity changes" tab for administrators in GridProductDtoTemplate. Also added Microsoft.Extensions.ObjectPool package to the project.
2025-12-14 01:45:12 +01:00
Loretta 0d9ced990a Add secure cross-platform auto-login with credential storage
Introduces ISecureCredentialService abstraction and platform-specific implementations for secure credential storage (WebAssembly, MAUI, server). Refactors LoggedInModel to support async auto-login, login, and logout using stored credentials. Updates DI and UI logic to enable seamless auto-login and logout across all platforms. Cleans up redundant navigation checks and improves maintainability.
2025-12-09 16:46:47 +01:00
Loretta 1b6aae83f1 StockTaking in progress... 2025-12-04 13:52:51 +01:00
Loretta e13e32dc57 .Net10, VS2026; StockTaking in progress... 2025-12-01 16:18:47 +01:00
Loretta 2253f0f534 improvements, fixes, etc... 2025-11-24 08:27:07 +01:00
Loretta 34be547e85 improvements 2025-11-21 16:28:49 +01:00
Loretta 264ad6256f improvements 2025-11-21 07:20:26 +01:00
Loretta 5c6aa6a80f improvements, fixes 2025-11-20 08:30:49 +01:00
Loretta a43c7e6858 MapHub TransportSendTimeout, WebSockets.CloseTimeout fix; etc... 2025-11-16 19:21:06 +01:00
Loretta 8b9cf1ea8d StockQuantityHistoryExt, StockQuantityHistoryDto; improvements, fixes; 2025-11-13 19:58:45 +01:00
Loretta cfe9c2c3fd improvements, fixes, etc... 2025-11-12 17:19:03 +01:00
Loretta 0e8ab18ca4 MgGridBase improvements, fixes 2025-11-08 06:34:18 +01:00
Loretta 51a9b3ae4b improvements 2025-11-06 21:11:46 +01:00
Loretta 955d7ec963 improvements, fixes, etc... 2025-11-04 15:31:42 +01:00
Loretta 4c5b31f123 improvements, fixes, etc... 2025-11-03 06:45:05 +01:00
Loretta dd270f6eca imporvements, fixes, etc... 2025-10-31 05:37:12 +01:00
Loretta d53c44d2db SignalR improvements; etc... 2025-10-30 14:54:47 +01:00
Loretta 81edcfff07 Login hack fix; improvements 2025-10-24 08:11:50 +02:00
Loretta 2d03a6d60b fixes, improvements, etc... 2025-10-20 22:42:13 +02:00
Loretta 35e71cb75c Add MeasurementOwnerId; RevisorId generic attributes to Order; improvements, fixes, etc.. 2025-10-20 16:46:40 +02:00
Loretta ebd3acd060 fixes 2025-10-19 13:50:02 +02:00
Loretta f145dfcd70 improvements, fixes, etc... 2025-10-16 11:43:46 +02:00
Loretta d93cb107b6 improvements 2025-10-15 15:42:11 +02:00
Loretta 51aef27828 ... 2025-10-15 07:56:56 +02:00
Loretta 581c4ee0a5 ... 2025-10-13 18:03:15 +02:00
Loretta e1f28f7fe8 improvements, fixes, etc... 2025-10-13 14:18:08 +02:00
Loretta 9d6cc0abed improvements, fixes, etc... 2025-10-12 07:47:57 +02:00
Loretta a74b356e70 improvements, fixes, etc... 2025-10-09 07:29:33 +02:00
Loretta 460e29529f ShippingItemPallets improvements 2025-10-05 14:56:00 +02:00
Loretta e918a77db3 improvements, fixes, etc... 2025-10-03 07:19:27 +02:00
Loretta d7e58e28f5 improvements, fixes, etc... 2025-09-30 18:18:18 +02:00
Loretta df4715360e improvements, fixes, etc... 2025-09-29 13:33:34 +02:00
Loretta 17e4fcf09e improvements, fixes, etc... 2025-09-23 10:41:31 +02:00
Loretta 72071e7a79 Convert to Devexpress solution; impovements, clean, etc... 2025-09-17 06:02:32 +02:00
Loretta 37ceac59b8 empty 2025-09-17 05:22:26 +02:00
Loretta 1c666c7ac7 improvement, fixes, etc... 2025-09-12 13:34:45 +02:00
Loretta cf234681af improvements, fixes, etc... 2025-09-11 12:51:46 +02:00
Loretta 07b4e5f558 Add MsTests; improvements, fixes, etc... 2025-09-09 04:38:08 +02:00