Skip to content
Snippets Groups Projects
Commit acffb812 authored by Janis Daniel Dähne's avatar Janis Daniel Dähne
Browse files

- enabled release controll get releases for execises sorting by automaticEndAt and releasedAt

parent 5f009dee
No related branches found
No related tags found
No related merge requests found
......@@ -13,7 +13,7 @@ namespace ClientServer.Helpers
/// </summary>
public static class Constants
{
public static string VersionString = "2.6.1";
public static string VersionString = "2.6.2";
/// <summary>
/// this is only set once at program.cs!!
......
......@@ -870,6 +870,19 @@ namespace ClientServer.Controllers.Core.Exercises
string orderByProp = "";
Expression<Func<ExerciseRelease, object>> orderByFunc = null;
//when we want to sort nulls first/last
//see https://stackoverflow.com/questions/2814742/how-to-order-by-column-with-null-values-last-in-entity-framework
//so we just do
/*
var result = context.Users.OrderBy(u => u.LastName == null)
.ThenBy(u => u.LastName)
.ThenBy(u => u.FirstName == null)
.ThenBy(u => u.FirstName);
//works because false sorts before true
*/
//but performance...?
//not all props are sortable via the frontend
if (String.IsNullOrWhiteSpace(pagination.OrderByProp) == false)
{
......@@ -883,11 +896,11 @@ namespace ClientServer.Controllers.Core.Exercises
orderByFunc = p => p.IsReleased;
orderByProp = "IsReleased".ToLower();
}
// else if (pagination.OrderByProp.ToLower() == "ReleasedAt".ToLower())
// {
// orderByFunc = p => p.ReleasedAt;
// orderByProp = "ReleasedAt".ToLower();
// }
else if (pagination.OrderByProp.ToLower() == "ReleasedAt".ToLower())
{
orderByFunc = p => p.ReleasedAt;
orderByProp = "ReleasedAt".ToLower();
}
else if (pagination.OrderByProp.ToLower() == "IsOnlyVisibleToMe".ToLower())
{
orderByFunc = p => p;
......@@ -898,11 +911,11 @@ namespace ClientServer.Controllers.Core.Exercises
orderByFunc = p => p.IsVisibleToAllAfterRelease;
orderByProp = "IsVisibleToAllAfterRelease".ToLower();
}
// else if (pagination.OrderByProp.ToLower() == "AutomaticEndAt".ToLower())
// {
// orderByFunc = p => p.AutomaticEndAt;
// orderByProp = "AutomaticEndAt".ToLower();
// }
else if (pagination.OrderByProp.ToLower() == "AutomaticEndAt".ToLower())
{
orderByFunc = p => p.AutomaticEndAt;
orderByProp = "AutomaticEndAt".ToLower();
}
else if (pagination.OrderByProp.ToLower() == "solutionsCount".ToLower())
{
orderByFunc = p => p.ExerciseReleaseWithUserAsParticipations.Count;
......@@ -928,7 +941,7 @@ namespace ClientServer.Controllers.Core.Exercises
GeneratedCode = p.GeneratedCode,
//TODO PERFORMANCE does this really slows down performance??... this needs to be executed in the memory (i think so)
//if no performance impact enable this and remove the loop below
//AutomaticStartAt = DateTimeHelper.SetKind(p.AutomaticStartAt, DateTimeKind.Unspecified),
// AutomaticStartAt = DateTimeHelper.SetKind(p.AutomaticStartAt, DateTimeKind.Unspecified),
//AutomaticEndAt = DateTimeHelper.SetKind(p.AutomaticEndAt, DateTimeKind.Unspecified),
//ReleasedAt = DateTimeHelper.SetKind(p.ReleasedAt, DateTimeKind.Unspecified),
AutomaticStartAt = p.AutomaticStartAt,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment