Refactor ReadHistoryQuery and optimize repository queries
- Changed `EnvelopeId` in `ReadHistoryQuery` to nullable for improved flexibility in queries. - Introduced `withReceiver` variable in `HistoryController` to enhance query logic for retrieving history records. - Updated `EnvelopeHistoryRepository` to use `AsNoTracking()` for better performance in read-only scenarios.
This commit is contained in:
parent
27d9a149bc
commit
21859ca6e6
@ -13,7 +13,7 @@ namespace EnvelopeGenerator.Application.Histories.Queries.Read;
|
||||
/// <param name="Related">Abfrage, die angibt, worauf sich der Datensatz bezieht. Ob er sich auf den Empfänger, den Sender oder das System bezieht, wird durch 0, 1 bzw. 2 dargestellt.</param>
|
||||
/// <param name="OnlyLast">Abfrage zur Steuerung, ob nur der aktuelle Status oder der gesamte Datensatz zurückgegeben wird.</param>
|
||||
public record ReadHistoryQuery(
|
||||
int EnvelopeId,
|
||||
int? EnvelopeId = null,
|
||||
ReadEnvelopeQuery? Envelope = null,
|
||||
ReadReceiverQuery? Receiver = null,
|
||||
Constants.ReferenceType? Related = null,
|
||||
|
||||
@ -131,6 +131,8 @@ public class HistoryController : ControllerBase
|
||||
[Authorize]
|
||||
public async Task<IActionResult> GetAllAsync([FromQuery] ReadHistoryQuery history)
|
||||
{
|
||||
|
||||
|
||||
bool withReceiver = false;
|
||||
bool withSender = false;
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ public class EnvelopeHistoryRepository : CRUDRepository<EnvelopeHistory, long, E
|
||||
|
||||
private IQueryable<EnvelopeHistory> By(int? envelopeId = null, string? userReference = null, int? status = null, bool withSender = false, bool withReceiver = false)
|
||||
{
|
||||
var query = _dbSet.AsQueryable();
|
||||
var query = _dbSet.AsNoTracking();
|
||||
|
||||
if (envelopeId is not null)
|
||||
query = query.Where(eh => eh.EnvelopeId == envelopeId);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user