Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }