Add EkaerHistoryFilter to GetEkaerHistories method

Enhanced GetEkaerHistories to accept an EkaerHistoryFilter parameter and apply server-side filtering based on StatusId. Updated logging to include the filter value. The method now returns filtered results according to the selected filter (ToSubmit, Sent, NeedsCompletion, or all), instead of always returning all records.
This commit is contained in:
Loretta 2026-06-12 09:00:33 +02:00
parent cd49b572ad
commit b7a38c3efb
1 changed files with 14 additions and 3 deletions

View File

@ -270,11 +270,22 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
}
[SignalR(SignalRTags.GetEkaerHistories)]
public async Task<List<EkaerHistory>> GetEkaerHistories()
public async Task<List<EkaerHistory>> GetEkaerHistories(EkaerHistoryFilter ekaerHistoryFilter)
{
_logger.Detail($"GetEkaerHistories invoked");
_logger.Detail($"GetEkaerHistories invoked; ekaerHistoryFilter: {ekaerHistoryFilter}");
return await ctx.EkaerHistories.GetAll().ToListAsync();
// Szerver-oldali szűrés (a tabokhoz) a StatusId int-oszlopon — a helper-ek nem fordulnak SQL-re,
// ezért közvetlen StatusId-összehasonlítás. All / ismeretlen → minden.
IQueryable<EkaerHistory> query = ctx.EkaerHistories.GetAll();
query = ekaerHistoryFilter switch
{
EkaerHistoryFilter.ToSubmit => query.Where(eh => eh.StatusId != (int)EkaerStatus.Sent && eh.StatusId != (int)EkaerStatus.SentWithMissingData),
EkaerHistoryFilter.Sent => query.Where(eh => eh.StatusId == (int)EkaerStatus.Sent),
EkaerHistoryFilter.NeedsCompletion => query.Where(eh => eh.StatusId == (int)EkaerStatus.SentWithMissingData),
_ => query,
};
return await query.ToListAsync();
}
[SignalR(SignalRTags.GetEkaerHistoryById)]