From b01c48fa49699b8f3379b880d11f2dd00dc58b62 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 30 Nov 2018 00:36:16 +0000 Subject: [PATCH] --- server/AyaNova/biz/DataFilterBiz.cs | 3 +++ server/AyaNova/biz/FilterOptions.cs | 13 ++++++++++--- server/AyaNova/biz/IFilterableObject.cs | 3 ++- server/AyaNova/biz/WidgetBiz.cs | 7 ++++++- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/server/AyaNova/biz/DataFilterBiz.cs b/server/AyaNova/biz/DataFilterBiz.cs index 286641d2..22f89a09 100644 --- a/server/AyaNova/biz/DataFilterBiz.cs +++ b/server/AyaNova/biz/DataFilterBiz.cs @@ -261,6 +261,9 @@ namespace AyaNova.Biz var filterItem = v[i]; if (filterItem["fld"] == null) AddError(ValidationErrorType.RequiredPropertyEmpty, "Filter", $"Filter array item {i}, object is missing required \"fld\" property "); + else{ + //todo: find the filteroptions object adn confirm this is a valid value for fld + } if (filterItem["op"] == null) AddError(ValidationErrorType.RequiredPropertyEmpty, "Filter", $"Filter array item {i}, object is missing required \"op\" property "); else diff --git a/server/AyaNova/biz/FilterOptions.cs b/server/AyaNova/biz/FilterOptions.cs index 8a0621c6..b9f343d0 100644 --- a/server/AyaNova/biz/FilterOptions.cs +++ b/server/AyaNova/biz/FilterOptions.cs @@ -19,12 +19,12 @@ namespace AyaNova.Biz public FilterOptions AddField(string FieldName, string LocaleKey, string DataType) { - Flds.Add(new FilterField() { Fld = FieldName, Lt = LocaleKey, Type = DataType }); + Flds.Add(new FilterField(FieldName, LocaleKey, DataType)); return this; } internal void Localize(long userLocaleId) - { + { List keysRequired = new List(); foreach (FilterField f in Flds) { @@ -33,7 +33,7 @@ namespace AyaNova.Biz var trans = LocaleBiz.GetSubsetStatic(keysRequired, userLocaleId).Result; foreach (FilterField f in Flds) { - f.Lt=trans[f.Lt]; + f.Lt = trans[f.Lt]; } } } @@ -43,5 +43,12 @@ namespace AyaNova.Biz public string Fld { get; set; } public string Lt { get; set; } public string Type { get; set; } + public FilterField(string fld, string lt, string type) + { + Fld = fld; + Lt = lt; + Type = type; + + } } } diff --git a/server/AyaNova/biz/IFilterableObject.cs b/server/AyaNova/biz/IFilterableObject.cs index 085c50fb..2c3d8bc6 100644 --- a/server/AyaNova/biz/IFilterableObject.cs +++ b/server/AyaNova/biz/IFilterableObject.cs @@ -16,10 +16,11 @@ namespace AyaNova.Biz //FILTEROPTIONS COLLECTION FilterOptions FilterOptions { get; } + List FilterFields {get;} //VALIDATE FILTER? - + } diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs index c37c5e52..76ee7061 100644 --- a/server/AyaNova/biz/WidgetBiz.cs +++ b/server/AyaNova/biz/WidgetBiz.cs @@ -8,7 +8,7 @@ using AyaNova.Util; using AyaNova.Api.ControllerHelpers; using AyaNova.Biz; using AyaNova.Models; - +using System.Collections.Generic; namespace AyaNova.Biz { @@ -33,6 +33,11 @@ namespace AyaNova.Biz } } + public static List FilterFields(){ + List fields=new List(); + fields.Add(new FilterField()) + } + internal WidgetBiz(AyContext dbcontext, long currentUserId, long userLocaleId, AuthorizationRoles UserRoles) { ct = dbcontext;