From 539ab97998b79b2887c14e6412f9ab9caaff9b2f Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 14 Jan 2020 19:06:48 +0000 Subject: [PATCH] --- server/AyaNova/biz/DataFilterBiz.cs | 23 +++++++++++++++---- server/AyaNova/biz/FilterOptions.cs | 6 ++--- .../AyaNova/biz/FilterOptionsFromListKey.cs | 2 +- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/server/AyaNova/biz/DataFilterBiz.cs b/server/AyaNova/biz/DataFilterBiz.cs index b3a81968..0b98fa73 100644 --- a/server/AyaNova/biz/DataFilterBiz.cs +++ b/server/AyaNova/biz/DataFilterBiz.cs @@ -223,7 +223,7 @@ namespace AyaNova.Biz AddError(ApiErrorCode.VALIDATION_REQUIRED, "UserId"); } - + //Name required if (string.IsNullOrWhiteSpace(inObj.Name)) @@ -246,11 +246,19 @@ namespace AyaNova.Biz if (string.IsNullOrWhiteSpace(inObj.ListKey)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "ListKey"); - FilterOptions ListValidFilterOptions = FilterOptionsFromListKey.Get(inObj.ListKey); - if (ListValidFilterOptions == null) + + List ListValidFilterOptions = null; + if (!ObjectFields.IsValidObjectKey(inObj.ListKey)) { AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "ListKey", $"ListKey \"{inObj.ListKey}\" is empty or in-valid"); } + else + { + ListValidFilterOptions = ObjectFields.ObjectFieldsList(inObj.ListKey); + } + // FilterOptions ListValidFilterOptions = FilterOptionsFromObjectKey.Get(inObj.ListKey); + // if (ListValidFilterOptions == null) + if (inObj.ListKey.Length > 255) AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "ListKey", "255 max"); @@ -276,7 +284,12 @@ namespace AyaNova.Biz if (ListValidFilterOptions != null) { - if (!ListValidFilterOptions.Flds.Exists(x => x.Fld == fld)) + // if (!ListValidFilterOptions.Flds.Exists(x => x.Fld == fld)) + // { + // AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Filter", $"Filter array item {i}, fld property value \"{fld}\" is not a valid value for ListKey specified"); + // } + + if (!ListValidFilterOptions.Exists(x => x.Key == fld)) { AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Filter", $"Filter array item {i}, fld property value \"{fld}\" is not a valid value for ListKey specified"); } @@ -337,7 +350,7 @@ namespace AyaNova.Biz if (ListValidFilterOptions != null) { - if (!ListValidFilterOptions.Flds.Exists(x => x.Fld == fld)) + if (!ListValidFilterOptions.Exists(x => x.Key == fld)) { AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Sort", $"Sort array item {i}, fld property value \"{fld}\" is not a valid value for ListKey specified"); } diff --git a/server/AyaNova/biz/FilterOptions.cs b/server/AyaNova/biz/FilterOptions.cs index b9f343d0..0730fcf7 100644 --- a/server/AyaNova/biz/FilterOptions.cs +++ b/server/AyaNova/biz/FilterOptions.cs @@ -6,18 +6,18 @@ using AyaNova.Biz; namespace AyaNova.Biz { - public class FilterOptions + public class DEPRECATED_FilterOptions { public string Key { get; set; } public List Flds { get; set; } - public FilterOptions(string key) + public DEPRECATED_FilterOptions(string key) { Flds = new List(); Key = key; } - public FilterOptions AddField(string FieldName, string LocaleKey, string DataType) + public DEPRECATED_FilterOptions AddField(string FieldName, string LocaleKey, string DataType) { Flds.Add(new FilterField(FieldName, LocaleKey, DataType)); return this; diff --git a/server/AyaNova/biz/FilterOptionsFromListKey.cs b/server/AyaNova/biz/FilterOptionsFromListKey.cs index e6e04308..b49f337c 100644 --- a/server/AyaNova/biz/FilterOptionsFromListKey.cs +++ b/server/AyaNova/biz/FilterOptionsFromListKey.cs @@ -1,6 +1,6 @@ namespace AyaNova.Biz { - internal static class FilterOptionsFromListKey + internal static class FilterOptionsFromObjectKey { internal static FilterOptions Get(string listKey) {