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.
- Introduced PartnerDepotId and PartnerDepot navigation to ShippingDocument and IShippingDocument, loaded only for EKÁER scenarios.
- Updated ShippingToEkaerMapper to leave CarrierName empty for outgoing shipments.
- Enhanced GridShippingDocument.razor: added PartnerDepot column with edit/display templates, improved Partner selection with cascade depot logic, and optimized partner lookup.
- Fixed Ekaer tab and count logic to use NeedsCompletion filter.
- Minor code and comment cleanups.
- Introduced EkaerConsignment model for direction-agnostic mapping (inbound/outbound), centralizing normalization and aggregation.
- Refactored IShippingToEkaerMapper and service interfaces to use new model and expose obligation evaluation.
- Added EkaerReportability logic for robust, threshold-based reporting obligation checks with error handling.
- Updated UI and SignalR to support detailed creation results and user feedback for skipped entries.
- Enhanced tests and documentation to cover new mapping, evaluation, and legal context.
- Minor config/protocol adjustments for improved reliability.
- Validation now distinguishes blocking errors from warnings; only errors block submission, warnings are shown but allow progress.
- Introduced EkaerSeverity, EkaerValidationMessage, and severity-aware extensions for validation results.
- Extended EkaerHistory.Status with GeneratedWithWarning and SentWithMissingData; added EkaerStatusExtensions for status categorization.
- Added EkaerHistoryFilter for server-side filtering; updated SignalR and controller interfaces accordingly.
- UI now displays error/warning messages with color/icons, supports new status tabs/filters, and restricts XML copying to submittable records.
- Refactored validation and error handling to use new severity logic; updated comments and minor code for clarity.
- Introduced IEkaerSettings interface and refactored code to use it for DI/testability
- Added support for generating EKÁER XML from outgoing orders (OrderDto)
- Extended service and mapper interfaces for outgoing order handling
- Implemented MapOrder and value calculation for order items
- Replaced UnloadLocation with Site in EkaerCompanyInfo for general site usage
- Updated tests, SignalR/controller interfaces, and UI to support new features and signatures
- Improved documentation and code clarity throughout
Centralized EKÁER configuration in new EkaerSettings class (company info, EUR-HUF rate, thresholds). Refactored service and mapper to use EkaerSettings. Added EkaerValueCalculator for HUF value logic. Extended EkaerHistory with ConversionRate for audit. Added IsEkaer to Partner. Updated mapping, VTSZ normalization, UI grid, CSS, and tests. Added diagnostic commands to settings.local.json.
- Introduced `EkaerHistory` entity with status enum and new properties for EKÁER declaration lifecycle tracking.
- Added CRUD methods for `EkaerHistory` in controller interface and SignalR client.
- Implemented `GridEkaerHistory` and `GridEkaerDetail` components for displaying EKÁER records and trade card details.
- Enhanced `TradeCardItemType` with `IId<int>` for grid compatibility.
- Improved AcSignalRDataSource to skip server refresh for tagless/local data sources.
- Updated settings to include .NET 9 runtime install commands.
- Introduced ICompanyInfoBase for standardized company/partner data; refactored PartnerBase and interfaces to implement it
- Replaced EkaerMappingOptions with EkaerCompanyInfo; updated all usages, constructors, and tests
- Refactored EKÁER mapping logic to use ICompanyInfoBase; improved normalization and address handling
- Added regex/validation for plate numbers and country codes; new error codes
- Added Currency to PartnerBase; updated grids to display it
- Updated ProductDto doc for GTIN/VTSZ data model issue
- Enabled validation in CargoTruck grid
- Added DMODEL topic docs: TOPIC_CODES.md, DATAMODEL_ISSUES.md, README.md
- Removed obsolete files and updated settings.local.json
- General code and doc improvements for maintainability
- Introduced IFruitBankEkaerService and implementation for mapping and submitting Shipping as EKÁER tradeCards
- Added IShippingToEkaerMapper and ShippingToEkaerMapper for domain-to-NAV mapping with normalization logic
- Created EkaerMappingOptions for config-driven mapping inputs
- Added unit tests for mapping logic (ShippingToEkaerMapperTests)
- Expanded EKAER_VALIDATION.md with C# validation implementation details
- Updated README.md to clarify mapping/submission flow and project boundaries
- Improved OrderClientTests assertions for nullability and clarity
- Updated settings.local.json with new dev workflow commands
- Map nopCommerce Product.Gtin onto ProductDto.Gtin; used as the EKÁER
trade-card productVtsz in NAV road-freight reporting.
- Interim solution: GTIN != VTSZ, to be separated long-term (tracked as plugin
issue MGFBANKPLUG-EKAER-I-T3X8).
- Introduced LicencePlate to CargoTruck and Shippings navigation to CargoPartner.
- Implemented CargoTruck CRUD methods in IFruitBankDataControllerCommon and FruitBankSignalRClient.
- Expanded tests for CargoTruck and improved assertions for CargoPartner and Partner.
- Updated CargoPartner grid to show CargoTrucks and Shippings in detail tabs.
- Minor formatting and settings.local.json Bash command update.
- Introduced the `adr-author` skill for structured ADR creation; updated session setup and shared skills to require pre-loading it.
- Added `SKILL.md` and `ADR_TEMPLATE.md` for ADR authoring workflow and documentation.
- Updated protocol decision log with entries for the new skill and its integration.
- Documented two critical JWT logging security issues in `LOGGING_ISSUES.md`.
- Minor: added a cleanup Bash command in `settings.local.json`.
Expanded use of the ToonDescription attribute across core entities and DTOs to provide rich metadata, including business rules, purposes, and status flags. Added class-level and property-level annotations to improve self-documentation and support automated tooling. Introduced new computed properties with ToonDescription in ProductDto, StockQuantityHistoryDto, and StockTakingItem. Updated ToonTypeRelation with an Entity constant. Enhanced test coverage for Toon metadata. Cleaned up imports and removed obsolete test_debug.ps1 script. Updated settings.local.json to support additional Bash commands for tooling. These changes improve introspectability and support for serialization, UI, and API documentation.
Introduce "business-logic" field in AcToonSerializer type metadata output, sourced from ToonDescription attributes on DTO properties. Annotate relevant OrderDto and OrderItemDto properties with business rules and constraints. Expand allowed Bash commands in settings.local.json. Add test script to verify business-logic metadata presence. Temporarily disable HasToonIgnoreAttribute logic in JsonUtilities.
Refactor shipping document info panel tables for better appearance and responsiveness using Bootstrap classes and improved CSS. Add PDF.js and custom PDF viewer scripts to enable PDF rendering in the info panel. Update splash screen handling for better Windows compatibility. Expand allowed Bash commands for development. Ensure UI updates in MgGridBase are properly scheduled with InvokeAsync.
- Added fullscreen mode to grid and info panel components, including toolbar toggle and fullscreen styling.
- Introduced embedded PDF viewing in the info panel using PDF.js and a custom JavaScript viewer.
- Updated interfaces, CSS, and toolbar templates to support new features.
- Added new PDF asset (2_BANK FRA.pdf) for document preview.
- Minor: Added local settings for Bash permission, fixed text encoding, and improved info panel table layout.
- No code changes in other referenced PDF files; added for informational or asset purposes only.