This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -49,7 +49,7 @@
|
||||
"AYANOVA_USE_URLS": "http://*:7575;",
|
||||
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
|
||||
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
|
||||
"AYANOVA_SERVER_TEST_MODE":"true",
|
||||
"AYANOVA_SERVER_TEST_MODE":"false",
|
||||
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL":"small",
|
||||
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET":"-7",
|
||||
"AYANOVA_BACKUP_PG_DUMP_PATH":"C:\\data\\code\\PostgreSQLPortable_12.0\\App\\PgSQL\\bin\\"
|
||||
|
||||
@@ -4,7 +4,6 @@ using System.Globalization;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using AyaNova.Biz;
|
||||
|
||||
namespace AyaNova.DataList
|
||||
@@ -406,52 +405,56 @@ code from picklist in case I decide to do it later
|
||||
//https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings#Roundtrip
|
||||
System.DateTime dtData = DateTime.Parse(sValue);
|
||||
|
||||
string sHighEnd = PostgresDateFormat(MaxMilliseconds(dtData));
|
||||
string sLowEnd = PostgresDateFormat(ZeroMilliseconds(dtData));
|
||||
//THis is because we don't want milliseconds to alter the value in any way, AyaNova resolution for time is seconds not milliseconds to allow for some sloppiness
|
||||
//so no date is exact and we work around that with ranges that rule out milliseconds affecting query
|
||||
//also this needs to work in conjunction with client filters for date ranges that provide a value one second before the range in question as START timestamp
|
||||
//and exactly the end of range in question as END timestamp
|
||||
string sDateValueWithMaxMilliseconds = PostgresDateFormat(MaxMilliseconds(dtData));
|
||||
string sDateValueWithZeroMilliseconds = PostgresDateFormat(ZeroMilliseconds(dtData));
|
||||
|
||||
switch (sOperator)
|
||||
{
|
||||
case DataListFilterComparisonOperator.Equality:
|
||||
sb.Append(">='");
|
||||
sb.Append(sLowEnd);
|
||||
sb.Append(sDateValueWithZeroMilliseconds);
|
||||
sb.Append("' AND ");
|
||||
sb.Append(SqlColumnNameToFilter);
|
||||
sb.Append(" ");
|
||||
sb.Append("<='");
|
||||
sb.Append(sHighEnd);
|
||||
sb.Append(sDateValueWithMaxMilliseconds);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataListFilterComparisonOperator.GreaterThan:
|
||||
sb.Append(">'");
|
||||
sb.Append(sLowEnd);
|
||||
sb.Append(sDateValueWithMaxMilliseconds);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataListFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
sb.Append(">='");
|
||||
sb.Append(sLowEnd);
|
||||
sb.Append(sDateValueWithZeroMilliseconds);
|
||||
sb.Append("'");
|
||||
break;
|
||||
case DataListFilterComparisonOperator.LessThan:
|
||||
sb.Append("<'");
|
||||
sb.Append(sHighEnd);
|
||||
sb.Append(sDateValueWithZeroMilliseconds);
|
||||
sb.Append("'");
|
||||
break;
|
||||
case DataListFilterComparisonOperator.LessThanOrEqualTo:
|
||||
sb.Append("<='");
|
||||
sb.Append(sHighEnd);
|
||||
sb.Append(sDateValueWithMaxMilliseconds);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataListFilterComparisonOperator.NotEqual:
|
||||
sb.Append("<'");
|
||||
sb.Append(sLowEnd);
|
||||
sb.Append(sDateValueWithZeroMilliseconds);
|
||||
sb.Append("' OR ");
|
||||
sb.Append(SqlColumnNameToFilter);
|
||||
sb.Append(" ");
|
||||
sb.Append(">'");
|
||||
sb.Append(sHighEnd);
|
||||
sb.Append(sDateValueWithMaxMilliseconds);
|
||||
sb.Append("'");
|
||||
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user