Commit Graph

16 Commits

Author SHA1 Message Date
Loretta 2221d4a68e Add PartnerDepot to ShippingDocument, EKÁER grid updates
- 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.
2026-06-16 12:02:24 +02:00
Loretta c722a7b242 EKÁER: unify consignment mapping & obligation logic
- 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.
2026-06-15 11:53:05 +02:00
Loretta 1e41632599 EKÁER: add warning/error distinction, status, and filters
- 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.
2026-06-12 09:00:26 +02:00
Loretta 9383041504 Add EKÁER XML support for outgoing orders, refactor config
- 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
2026-06-12 07:54:38 +02:00
Loretta f23aebff2d EKÁER config refactor: centralize settings, add audit rate
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.
2026-06-11 17:40:33 +02:00
Loretta ea29ad18bd EKÁER grid: status enum fix, batch create, UI/UX, DB guard
- Fixed EkaerHistory status persistence (int+enum wrapper for linq2db)
- Added batch EKÁER record creation (toolbar date picker, SignalR, UI)
- Enhanced GridEkaerHistory: status, error, XML copy, manual edit
- Improved column display format handling in MgGridInfoPanel
- Updated SignalR binary protocol streaming strategy doc
- Added DB guard PowerShell hook: blocks non-_DEV DB shell access
- New styles for EKÁER toolbar date picker
2026-06-11 08:52:10 +02:00
Loretta 82f0f00196 Add EKÁER history grid, detail view, and entity support
- 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.
2026-06-10 16:24:54 +02:00
Loretta 0a1287ce67 Refactor EKÁER mapping: unify company info, doc updates
- 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
2026-06-03 16:58:47 +02:00
Loretta 2fb1151e5d Add FruitBank EKÁER mapping layer and validation docs
- 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
2026-06-02 15:45:46 +02:00
Loretta b541405640 ProductDto: add Gtin column as the EKÁER VTSZ source
- 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).
2026-06-01 15:40:47 +02:00
Loretta 41ccb10ef7 Add CargoTruck CRUD, grid tabs, and related tests
- 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.
2026-05-29 12:16:48 +02:00
Loretta 25522f7c27 Add adr-author skill, ADR template, and log security issues
- 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`.
2026-04-25 07:24:16 +02:00
Loretta dd3c1c58c0 Add ToonDescription metadata to entities and DTOs
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.
2026-01-15 11:33:34 +01:00
Loretta 3700bfdb29 Add business-logic metadata to DTO serialization
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.
2026-01-14 22:16:49 +01:00
Loretta e8d38f0038 Improve info panel tables, PDF support, and splash screen
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.
2025-12-20 10:20:51 +01:00
Loretta 7923c42a1e Add fullscreen grid support and PDF preview in info panel
- 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.
2025-12-19 07:15:54 +01:00