Commit Graph

9 Commits

Author SHA1 Message Date
Loretta 1210393e67 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 ad7d5813cb 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 52541628f9 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 d2fadaa136 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:53 +02:00
Loretta aed36a71cb Improve SignalR client deserialization and docs
- Enhanced error handling in streaming methods of AcSignalRClientBase: deserialization errors are now logged and skipped instead of throwing.
- SignalResponseDataMessage.GetResponseData<T>() now throws InvalidCastException on type mismatch (was silent/null before).
- Updated README to document new casting and error behavior.
- Added Bash(dotnet workload *) command to settings.local.json.
- Removed GeneratedCode attribute from LocationType.cs.
2026-06-07 07:19:47 +02:00
Loretta d2bdf7e4eb 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 b3c82d6ad2 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 3db26fbfa3 Add EKÁER submit/validation layer with tests
Introduced IEkaerSubmitService and EkaerSubmitService for orchestrated EKÁER trade card validation and submission, with result encapsulation via EkaerSubmitResult. Added IEkaerTradeCardValidator and EkaerTradeCardValidator for schema and business rule validation. Comprehensive unit tests cover validation logic and submission flow. All code is generic and project-agnostic.
2026-06-02 15:23:42 +02:00
Loretta a4cd8f3f0f Add NAV/EKÁER reporting layer to AyCode.Services
- Nav/ base layer: INav* interfaces, NavAuthHelper (SHA-512 passwordHash +
  requestSignature in UTC), NavXmlHelper (UTF-8 XML), NavReportServiceBase
  (HTTP POST + (de)serialize + error handling), NavReportException.
- Nav/Ekaer/: 62 XSD-generated models (Models/ + Models/Common/ — separate
  namespaces resolve the TradeCardType enum-vs-class clash), 5 partial adapters
  binding the generated types to the Nav interfaces, EkaerManageService +
  EkaerQueryService.
- Nav/docs/: ekaermanagement.xsd + common.xsd + LLM-friendly extracts
  (INTERFACE / TRADECARD / OPERATIONS / VALIDATION).
- AyCode.Services.Tests/Nav/: NavAuthHelper verified against the official EKÁER
  PDF test vector + adapter interface-mapping tests (10 pass).
- csproj: register Nav/docs *.xsd and *.md.
2026-06-01 15:40:35 +02:00