Add NAV EKÁER submission endpoint and update docs

- Switched DB connection to FruitBank_PROD in appsettings.json
- Added NAV EKÁER credentials section to appsettings.json
- Introduced SendEkaerToNav SignalR endpoint for direct NAV submission
- Updated README to document new submission workflow and status handling
- Clarified EKÁER process and lifecycle to reflect automated NAV integration
This commit is contained in:
Loretta 2026-07-13 18:59:39 +02:00
parent 48275ea5d3
commit cb91051749
2 changed files with 27 additions and 4 deletions

View File

@ -413,6 +413,26 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
return await ctx.EkaerHistories.GetByIdAsync(ekaerHistory.Id, true);
}
/// <summary>
/// Egy legenerált (Generated/GeneratedWithWarning) EkaerHistory TÁROLT tradeCard XML-jét beküldi a NAV-nak (create).
/// A service tölti a rekordot (Sent/SentWithMissingData + EkaerNumber + SentDate, vagy SendError + ErrorText),
/// itt csak perzisztáljuk. User-vezérelt (grid „Beküldés" gomb), a kliens megerősítő dialógus után hívja.
/// </summary>
[SignalR(SignalRTags.SendEkaerToNav)]
public async Task<EkaerHistory> SendEkaerToNav(int ekaerHistoryId)
{
_logger.Detail($"SendEkaerToNav invoked; ekaerHistoryId: {ekaerHistoryId}");
var ekaerHistory = await ctx.EkaerHistories.GetByIdAsync(ekaerHistoryId, true)
?? throw new ArgumentException($"EkaerHistory not found; id: {ekaerHistoryId}", nameof(ekaerHistoryId));
ekaerHistory = await fruitBankEkaerService.SendEkaerAsync(ekaerHistory);
await ctx.EkaerHistories.UpdateAsync(ekaerHistory);
_logger.Info($"SendEkaerToNav; id: {ekaerHistoryId}; status: {ekaerHistory.Status}; ekaerNumber: {ekaerHistory.EkaerNumber}");
return await ctx.EkaerHistories.GetByIdAsync(ekaerHistory.Id, true);
}
/// <summary>
/// Idempotens rekord-létrehozás: ha a forrás-rekordra (foreignKey + isOutgoing) már van mapping → a hozzá tartozó
/// EkaerHistory-t adja vissza érintetlenül; különben új Pending rekordot + EGY mapping sort hoz létre (atomikusan).

File diff suppressed because one or more lines are too long