Skip to content

Commit 57b8749

Browse files
committed
chore: update launch settings and refactor sorting
1 parent 1104afc commit 57b8749

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

core/KendoCoreService/Extensions/SortingExtension.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ public static IQueryable<T> Sort<T>(this IQueryable<T> data, List<Sort> sorts)
1717

1818
foreach (var sort in sorts)
1919
{
20-
var propInfo = CommonExtension.GetPropertyInfo(typeof(T), sort.Field);
21-
var expr = ExpressionExtension.BuildLambda(typeof(T), propInfo);
22-
2320
string methodName = string.Empty;
2421

2522
if (isFirst)
@@ -32,21 +29,23 @@ public static IQueryable<T> Sort<T>(this IQueryable<T> data, List<Sort> sorts)
3229
methodName = sort.Dir == "asc" ? "ThenBy" : "ThenByDescending";
3330
}
3431

35-
var method = typeof(Queryable).GetMethods().FirstOrDefault(m => m.Name == methodName && m.GetParameters().Length == 2);
36-
var genericMethod = method.MakeGenericMethod(typeof(T), propInfo.PropertyType);
37-
38-
data = (IQueryable<T>)genericMethod.Invoke(null, new object[] { data, expr });
32+
data = data.ApplySort(methodName, sort.Field);
3933
}
4034

4135
return data;
4236
}
4337

4438
public static IQueryable<T> GroupSort<T>(this IQueryable<T> data, string dir)
4539
{
46-
var propInfo = CommonExtension.GetPropertyInfo(typeof(T), "Key");
47-
var expr = ExpressionExtension.BuildLambda(typeof(T), propInfo);
4840
var methodName = dir == "asc" ? "OrderBy" : "OrderByDescending";
4941

42+
return data.ApplySort(methodName, "Key");
43+
}
44+
45+
private static IQueryable<T> ApplySort<T>(this IQueryable<T> data, string methodName, string field)
46+
{
47+
var propInfo = CommonExtension.GetPropertyInfo(typeof(T), field);
48+
var expr = ExpressionExtension.BuildLambda(typeof(T), propInfo);
5049

5150
var method = typeof(Queryable).GetMethods().FirstOrDefault(m => m.Name == methodName && m.GetParameters().Length == 2);
5251
var genericMethod = method.MakeGenericMethod(typeof(T), propInfo.PropertyType);

core/KendoCoreService/Properties/launchSettings.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,15 @@
1212
"KendoCoreService": {
1313
"commandName": "Project",
1414
"dotnetRunMessages": true,
15-
"launchBrowser": true,
16-
"launchUrl": "weatherforecast",
15+
"launchBrowser": false,
1716
"applicationUrl": "https://localhost:7099;http://localhost:5099",
1817
"environmentVariables": {
1918
"ASPNETCORE_ENVIRONMENT": "Development"
2019
}
2120
},
2221
"IIS Express": {
2322
"commandName": "IISExpress",
24-
"launchBrowser": true,
25-
"launchUrl": "weatherforecast",
23+
"launchBrowser": false,
2624
"environmentVariables": {
2725
"ASPNETCORE_ENVIRONMENT": "Development"
2826
}

0 commit comments

Comments
 (0)