This commit is contained in:
2018-12-04 19:01:31 +00:00
parent 30caee268e
commit caeda98aa7
3 changed files with 272 additions and 22 deletions

View File

@@ -23,15 +23,22 @@ namespace AyaNova.Biz
public const string InTheLast3Months = "{[last3months]}";
public const string InTheLast6Months = "{[last6months]}";
public const string InTheLastYear = "{[lastcalendaryear]}";
public const string AH = "{[ah]}";
public const string IP = "{[ip]}";
public const string QZ = "{[qz]}";
public const string ZeroToThree = "{[03]}";
public const string FourToSix = "{[46]}";
public const string SevenToNine = "{[79]}";
public const string LessThanZero = "{[<0]}";
//These TEXT filter tokens were more for paging purposes than anything else
//however paging is done by numeric range now so will not implement for now
// public const string AH = "{[ah]}";
// public const string IP = "{[ip]}";
// public const string QZ = "{[qz]}";
// public const string ZeroToThree = "{[03]}";
// public const string FourToSix = "{[46]}";
// public const string SevenToNine = "{[79]}";
//Don't think I need these
//public const string LessThanZero = "{[<0]}";
// public const string Zero = "{[0]}";
public const string GreaterThanZero = "{[>0]}";
//public const string GreaterThanZero = "{[>0]}";
//https://www.klipfolio.com/resources/articles/kpi-timeframe-comparison-metrics
//Quarters: https://www.investopedia.com/terms/q/quarter.asp

View File

@@ -132,23 +132,19 @@ namespace AyaNova.Biz
#region Build for specific type
switch (sDataType)
{
{
case AyDataType.Text:
//escape any pre-existing apostrophes
//i.e. "O'Flaherty's pub" would cause fits
//if this wasn't done
//MS-sql and firebird use double apostrophes so
//any future db added should consider this
//RAVEN - Removed this because I think postgres would be ok with it, it's not a special character
//will have a specific test for this to ensure.
//https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-SPECIAL-CHARS
// sValue = sValue.Replace("'", "''");
//i.e. "O'Flaherty's pub"
sValue = sValue.Replace("'", "''");
//case 1951 - unescape ampersands
sValue = sValue.Replace("&amp;", "&");
//RAVEN NOTE: Decided not to implement TEXT token criteria for now (TTM, probably not useful)
//meaning the A-H etc group ranges by alpha bet chunk
#region Build TEXT OPS criteria
switch (sOperator)
{
case FilterComparisonOperator.Equality:
@@ -234,6 +230,7 @@ namespace AyaNova.Biz
throw new System.ArgumentOutOfRangeException("OPERATOR_TYPE", sOperator, "GridToSqlCriteria unhandled operator type [" + sOperator + "] IN STRING");
}
#endregion build text ops criteria
break;
case AyDataType.Bool:
{
@@ -761,7 +758,7 @@ namespace AyaNova.Biz
case FilterComparisonOperator.LessThanOrEqualTo:
sb.Append("<=");
sb.Append(sValue);
break;
break;
case FilterComparisonOperator.NotEqual:
sb.Append("<>");
sb.Append(sValue);