From f3f94c4d07d7ef06b4b0ba63ef37be9e60ff9628 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 9 Sep 2019 09:34:50 +0200 Subject: [PATCH] Convert range filter dates to universaltime All dates in the datetime filter were converted to UTC prior to selecting them from the database. Range filters were not considered however, leading to missing entries. --- Mvc.JQuery.DataTables.Common/Processing/TypeFilters.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Mvc.JQuery.DataTables.Common/Processing/TypeFilters.cs b/Mvc.JQuery.DataTables.Common/Processing/TypeFilters.cs index c230ff7..ea17f90 100644 --- a/Mvc.JQuery.DataTables.Common/Processing/TypeFilters.cs +++ b/Mvc.JQuery.DataTables.Common/Processing/TypeFilters.cs @@ -111,12 +111,14 @@ public static string DateTimeOffsetFilter(string query, string columnname, DataT DateTimeOffset start, end; if (DateTimeOffset.TryParse(parts[0] ?? "", out start)) { + start = start.ToUniversalTime(); filterString = columnname + " >= @" + parametersForLinqQuery.Count; parametersForLinqQuery.Add(start); } if (DateTimeOffset.TryParse(parts[1] ?? "", out end)) { + end = end.ToUniversalTime(); filterString = (filterString == null ? null : filterString + " and ") + columnname + " <= @" + parametersForLinqQuery.Count; parametersForLinqQuery.Add(end); } @@ -161,12 +163,14 @@ public static string DateTimeFilter(string query, string columnname, DataTablesP DateTime start, end; if (DateTime.TryParse(parts[0] ?? "", out start)) { + start = start.ToUniversalTime(); filterString = columnname + " >= @" + parametersForLinqQuery.Count; parametersForLinqQuery.Add(start); } if (DateTime.TryParse(parts[1] ?? "", out end)) { + end = end.ToUniversalTime(); filterString = (filterString == null ? null : filterString + " and ") + columnname + " <= @" + parametersForLinqQuery.Count; parametersForLinqQuery.Add(end); } @@ -254,4 +258,4 @@ public static string EnumFilter(string q, string columnname, DataTablesPropertyI return columnname + " == @" + (parametersForLinqQuery.Count - 1); } } -} \ No newline at end of file +}