From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../Gestor.Application/Helpers/QueryableHelper.cs | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Codemerx/Gestor.Application/Helpers/QueryableHelper.cs (limited to 'Codemerx/Gestor.Application/Helpers/QueryableHelper.cs') diff --git a/Codemerx/Gestor.Application/Helpers/QueryableHelper.cs b/Codemerx/Gestor.Application/Helpers/QueryableHelper.cs new file mode 100644 index 0000000..5670bf2 --- /dev/null +++ b/Codemerx/Gestor.Application/Helpers/QueryableHelper.cs @@ -0,0 +1,26 @@ +using System; +using System.Linq; +using System.Linq.Expressions; +using System.Runtime.CompilerServices; + +namespace Gestor.Application.Helpers +{ + public static class QueryableHelper + { + public static IOrderedQueryable OrderBy(this IQueryable source, string propertyName) + { + return source.OrderBy(QueryableHelper.ToLambda(propertyName)); + } + + public static IOrderedQueryable OrderByDescending(this IQueryable source, string propertyName) + { + return source.OrderByDescending(QueryableHelper.ToLambda(propertyName)); + } + + private static Expression> ToLambda(string propertyName) + { + ParameterExpression parameterExpression = Expression.Parameter(typeof(T)); + return Expression.Lambda>(Expression.Convert(Expression.Property(parameterExpression, propertyName), typeof(object)), new ParameterExpression[] { parameterExpression }); + } + } +} \ No newline at end of file -- cgit v1.2.3