private FilterObjectWrapper GetFilterObjects(IList <string> filterKeys, string filterLogic) { var list = new List <FilterObject>(); var fieldKeys = from x in filterKeys where x.Contains("field") select x; var indexList = GetIndexArr(fieldKeys); foreach (var index in indexList) { var group = (from x in filterKeys where GetFilterIndex(x) == index && !x.Contains("logic") select x).ToList(); var filterObject = new FilterObject { Field1 = GetQueryStringValue(group[0]).Replace("_", "."), Operator1 = GetQueryStringValue(group[1]), Value1 = GetQueryStringValue(group[2]) }; // Attempt to convert any DateTimes to C# correctly. // Assume the user requested the date in their local time. DateTime dateTimeResult; if (GlobalUtilities.TryParseJavaScriptDate(filterObject.Value1, out dateTimeResult)) { filterObject.Value1 = dateTimeResult.ToString(); } if (group.Count == 6) { filterObject.Field2 = GetQueryStringValue(group[3]).Replace("_", "."); filterObject.Operator2 = GetQueryStringValue(group[4]); filterObject.Value2 = GetQueryStringValue(group[5]); filterObject.Logic = GetValue(filterKeys, index, "logic"); } list.Add(filterObject); } return(new FilterObjectWrapper(filterLogic, list)); }
private FilterObjectWrapper GetFilterObjects(IList <string> filterKeys, string filterLogic) { var list = new List <FilterObject>(); var fieldKeys = from x in filterKeys where x.Contains("field") select x; var indexList = GetIndexArr(fieldKeys); foreach (var index in indexList) { var group = (from x in filterKeys where GetFilterIndex(x) == index && !x.Contains("logic") select x).ToList(); var filterObject = new FilterObject { Field1 = GetQueryStringValue(group[0]).Replace("_", "."), Operator1 = GetQueryStringValue(group[1]), Value1 = GetQueryStringValue(group[2]) }; if (group.Count == 6) { filterObject.Field2 = GetQueryStringValue(group[3]).Replace("_", "."); filterObject.Operator2 = GetQueryStringValue(group[4]); filterObject.Value2 = GetQueryStringValue(group[5]); filterObject.Logic = GetValue(filterKeys, index, "logic"); } list.Add(filterObject); } return(new FilterObjectWrapper(filterLogic, list)); }
private FilterObjectWrapper GetFilterObjects(IList<string> filterKeys, string filterLogic) { var list = new List<FilterObject>(); var fieldKeys = from x in filterKeys where x.Contains("field") select x; var indexList = GetIndexArr(fieldKeys); foreach (var index in indexList) { var group = (from x in filterKeys where GetFilterIndex(x) == index && !x.Contains("logic") select x).ToList(); var filterObject = new FilterObject { Field1 = GetQueryStringValue(group[0]).Replace("_", "."), Operator1 = GetQueryStringValue(group[1]), Value1 = GetQueryStringValue(group[2]) }; // Attempt to convert any DateTimes to C# correctly. // Assume the user requested the date in their local time. DateTime dateTimeResult; if (GlobalUtilities.TryParseJavaScriptDate(filterObject.Value1, out dateTimeResult)) { filterObject.Value1 = dateTimeResult.ToString(); } if (group.Count == 6) { filterObject.Field2 = GetQueryStringValue(group[3]).Replace("_", "."); filterObject.Operator2 = GetQueryStringValue(group[4]); filterObject.Value2 = GetQueryStringValue(group[5]); filterObject.Logic = GetValue(filterKeys, index, "logic"); } list.Add(filterObject); } return new FilterObjectWrapper(filterLogic, list); }