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:
parent
ffc536446c
commit
d2fadaa136
|
|
@ -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<int>-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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -477,7 +477,9 @@ namespace AyCode.Services.SignalRs
|
||||||
|
|
||||||
if (clearChangeTracking) TrackingItems.Clear();
|
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();
|
LoadDataSourceAsync(false).Forget();
|
||||||
return;
|
return;
|
||||||
|
|
@ -512,7 +514,9 @@ namespace AyCode.Services.SignalRs
|
||||||
}
|
}
|
||||||
else if (clearChangeTracking) TrackingItems.Clear();
|
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();
|
LoadDataSourceAsync(false).Forget();
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue