Files
CMS/src/CMSMicroservice.Application/Common/Extensions/SortByExtensions.cs
T
2025-09-27 08:46:36 +03:30

24 lines
610 B
C#

using System.Linq.Dynamic.Core;
using CMSMicroservice.Domain.Common;
namespace CMSMicroservice.Application.Common.Extensions;
public static class SortByExtensions
{
public static IQueryable<TSource> ApplyOrder<TSource>(this IQueryable<TSource> source,
string? sortBy) where TSource : BaseAuditableEntity
{
// default sort approach
if (sortBy is null or "")
{
source = source.OrderByDescending(p => p.Created);
return source;
}
// sort using dynamic linq
source = source.OrderBy(sortBy);
return source;
}
}