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.
This commit is contained in:
Loretta 2026-06-10 16:24:53 +02:00
parent ffc536446c
commit d2fadaa136
2 changed files with 27 additions and 2 deletions

View File

@ -0,0 +1,21 @@
using AyCode.Core.Interfaces;
namespace AyCode.Services.Nav.Ekaer.Models;
/// <summary>
/// KÉZZEL ÍRT partial-kiegészítés a generált <see cref="TradeCardItemType"/>-hoz — a generált fájlhoz NEM nyúlunk,
/// az xscgen-újrageneráláskor ez a fájl megmarad.
/// Az <see cref="IId{T}"/> implementáció grid-megjelenítéshez kell (IId&lt;int&gt;-megkötésű grid-bázisok
/// readonly DataSource-aként). EXPLICIT implementáció, mert a NAV-séma saját <c>Id</c>-t definiál, ami
/// <b>string</b> (<c>[XmlAttribute("id")]</c>, csak modify-kérésnél töltött) — a grid viszont int-et vár.
/// SZÁMÍTOTT érték: az <c>ItemExternalId</c>-ból jön (a mapper oda a <c>ShippingItem.Id</c>-t írja),
/// így betöltéskor nincs teendő. Az explicit tagot az XmlSerializer nem szerializálja — a NAV-wire érintetlen.
/// </summary>
public partial class TradeCardItemType : IId<int>
{
int IId<int>.Id
{
get => int.TryParse(ItemExternalId, out var id) ? id : 0;
set => ItemExternalId = value.ToString();
}
}

View File

@ -477,7 +477,9 @@ namespace AyCode.Services.SignalRs
if (clearChangeTracking) TrackingItems.Clear();
if (refreshDataFromDbAsync)
// Tag nélküli (lokális/readonly) datasource: nincs honnan frissíteni — a szerver-refresh kimarad.
// (Az explicit LoadDataSourceAsync hívás tag nélkül továbbra is dob — az valódi konfigurációs hiba.)
if (refreshDataFromDbAsync && SignalRCrudTags.GetAllMessageTag != AcSignalRTags.None)
{
LoadDataSourceAsync(false).Forget();
return;
@ -512,7 +514,9 @@ namespace AyCode.Services.SignalRs
}
else if (clearChangeTracking) TrackingItems.Clear();
if (refreshDataFromDbAsync)
// Tag nélküli (lokális/readonly) datasource: nincs honnan frissíteni — a szerver-refresh kimarad.
// (Az explicit LoadDataSourceAsync hívás tag nélkül továbbra is dob — az valódi konfigurációs hiba.)
if (refreshDataFromDbAsync && SignalRCrudTags.GetAllMessageTag != AcSignalRTags.None)
{
LoadDataSourceAsync(false).Forget();
return;