ChangeLogRepositoryAbstract Add Ordering

This commit is contained in:
ngfrolov 2024-01-31 12:03:35 +05:00
parent 4842858264
commit 514d4fe80a
Signed by: ng.frolov
GPG Key ID: E99907A0357B29A7

View File

@ -193,7 +193,8 @@ public abstract class ChangeLogRepositoryAbstract<TDto, TEntity, TRequest> : ICh
dates = dates.Select(date => date.ToOffset(offset));
var datesOnly = dates
.Select(d => new DateOnly(d.Year, d.Month, d.Day))
.Distinct();
.Distinct()
.OrderBy(d => d);
return datesOnly;
}
@ -214,7 +215,11 @@ public abstract class ChangeLogRepositoryAbstract<TDto, TEntity, TRequest> : ICh
query = createdQuery.Union(editedQuery);
}
var entities = await query.ToListAsync(token);
var entities = await query
.OrderBy(e => e.Creation)
.ThenBy(e => e.Obsolete)
.ThenBy(e => e.Id)
.ToListAsync(token);
var dtos = entities.Select(e => Convert(e, offset));
return dtos;
@ -223,7 +228,11 @@ public abstract class ChangeLogRepositoryAbstract<TDto, TEntity, TRequest> : ICh
public async Task<IEnumerable<TDto>> Get(TRequest request, CancellationToken token)
{
var query = BuildQuery(request);
var entities = await query.ToArrayAsync(token);
var entities = await query
.OrderBy(e => e.Creation)
.ThenBy(e => e.Obsolete)
.ThenBy(e => e.Id)
.ToArrayAsync(token);
TimeSpan offset = GetTimezoneOffset(request);
var dtos = entities.Select(e => Convert(e, offset));