Exemplo n.º 1
0
        private Func <Character, bool> GetCharacterSearchingFiltersPredicate(JqGridSearchingFilters searchingFilters)
        {
            Func <Character, bool>          searchingFiltersPredicate = null;
            IList <Func <Character, bool> > searchingFilterPredicates = new List <Func <Character, bool> >();

            foreach (JqGridSearchingFilter searchingFilter in searchingFilters.Filters)
            {
                searchingFilterPredicates.Add(GetCharacterSearchingFilterPredicate(searchingFilter));
            }

            foreach (JqGridSearchingFilters searchingFilterGroup in searchingFilters.Groups)
            {
                searchingFilterPredicates.Add(GetCharacterSearchingFiltersPredicate(searchingFilterGroup));
            }

            if (searchingFilterPredicates.Any())
            {
                if (searchingFilters.GroupingOperator == JqGridSearchGroupingOperators.And)
                {
                    searchingFiltersPredicate = (character => searchingFilterPredicates.All(searchingFilterPredicate => searchingFilterPredicate(character)));
                }
                else if (searchingFilters.GroupingOperator == JqGridSearchGroupingOperators.Or)
                {
                    searchingFiltersPredicate = (character => searchingFilterPredicates.Any(searchingFilterPredicate => searchingFilterPredicate(character)));
                }
            }

            return(searchingFiltersPredicate);
        }
        private void WriteJqGridRequestSearchingFilters(JsonWriter writer, JqGridSearchingFilters jqGridRequestSearchingFilters)
        {
            writer.WriteStartObject();

            writer.WritePropertyName(GROUPING_OPERATOR_FIELD_NAME);
            writer.WriteValue(jqGridRequestSearchingFilters.GroupingOperator.ToString().ToUpperInvariant());

            if ((jqGridRequestSearchingFilters.Filters != null) && (jqGridRequestSearchingFilters.Filters.Count > 0))
            {
                writer.WritePropertyName(FILTERS_FIELD_NAME);
                writer.WriteStartArray();
                foreach (JqGridSearchingFilter jqGridRequestSearchingFilter in jqGridRequestSearchingFilters.Filters)
                {
                    WriteJqGridRequestSearchingFilter(writer, jqGridRequestSearchingFilter);
                }
                writer.WriteEndArray();
            }

            if ((jqGridRequestSearchingFilters.Groups != null) && (jqGridRequestSearchingFilters.Groups.Count > 0))
            {
                writer.WritePropertyName(GROUP_FIELD_NAME);
                writer.WriteStartArray();
                foreach (JqGridSearchingFilters innerSearchingFilters in jqGridRequestSearchingFilters.Groups)
                {
                    WriteJqGridRequestSearchingFilters(writer, jqGridRequestSearchingFilters);
                }
                writer.WriteEndArray();
            }

            writer.WriteEndObject();
        }
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        /// <param name="writer">The JsonWriter to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The calling serializer.</param>
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            JqGridSearchingFilters jqGridRequestSearchingFilters = value as JqGridSearchingFilters;

            if (!(jqGridRequestSearchingFilters is null))
            {
                WriteJqGridRequestSearchingFilters(writer, jqGridRequestSearchingFilters);
            }
        }
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        /// <param name="writer">The JsonWriter to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The calling serializer.</param>
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            JqGridSearchingFilters jqGridRequestSearchingFilters = value as JqGridSearchingFilters;

            if (!(jqGridRequestSearchingFilters is null))
            {
                JqGridJsonConverter.WriteJqGridSearchingFilters(new NewtonsoftJqGridJsonWriter(writer, serializer), jqGridRequestSearchingFilters);
            }
        }
        private static JqGridSearchingFilters ReadJqGridRequestSearchingFilters(JToken filtersToken)
        {
            JqGridSearchingFilters jqGridRequestSearchingFilters = new JqGridSearchingFilters();

            jqGridRequestSearchingFilters.GroupingOperator = ReadEnum(filtersToken, GROUPING_OPERATOR_FIELD_NAME, JqGridSearchGroupingOperators.And);
            if ((filtersToken[FILTERS_FIELD_NAME] != null) && (filtersToken[FILTERS_FIELD_NAME].Type == JTokenType.Array))
            {
                foreach (JToken filterToken in filtersToken[FILTERS_FIELD_NAME].ToList())
                {
                    jqGridRequestSearchingFilters.Filters.Add(ReadJqGridRequestSearchingFilter(filterToken));
                }
            }

            if ((filtersToken[GROUP_FIELD_NAME] != null) && (filtersToken[GROUP_FIELD_NAME].Type == JTokenType.Array))
            {
                foreach (JToken groupToken in filtersToken[GROUP_FIELD_NAME].ToList())
                {
                    jqGridRequestSearchingFilters.Groups.Add(ReadJqGridRequestSearchingFilters(groupToken));
                }
            }

            return(jqGridRequestSearchingFilters);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Reads the JSON representation of the <see cref="JqGridSearchingFilters"/>.
        /// </summary>
        /// <param name="filtersElement">The <see cref="IJqGridJsonElement"/>.</param>
        /// <returns>The <see cref="JqGridSearchingFilters"/>.</returns>
        public static JqGridSearchingFilters ReadJqGridSearchingFilters(IJqGridJsonElement filtersElement)
        {
            JqGridSearchingFilters jqGridSearchingFilters = new JqGridSearchingFilters();

            jqGridSearchingFilters.GroupingOperator = ReadEnum(filtersElement, GROUPING_OPERATOR_FIELD_NAME, JqGridSearchGroupingOperators.And);
            if ((filtersElement[FILTERS_FIELD_NAME] != null) && (filtersElement[FILTERS_FIELD_NAME].Type == JqGridJsonElementType.Array))
            {
                foreach (IJqGridJsonElement filterElement in filtersElement[FILTERS_FIELD_NAME].EnumerateArray())
                {
                    jqGridSearchingFilters.Filters.Add(ReadJqGridSearchingFilter(filterElement));
                }
            }

            if ((filtersElement[GROUP_FIELD_NAME] != null) && (filtersElement[GROUP_FIELD_NAME].Type == JqGridJsonElementType.Array))
            {
                foreach (IJqGridJsonElement groupElement in filtersElement[GROUP_FIELD_NAME].EnumerateArray())
                {
                    jqGridSearchingFilters.Groups.Add(ReadJqGridSearchingFilters(groupElement));
                }
            }

            return(jqGridSearchingFilters);
        }
Exemplo n.º 7
0
 public string SerializeJqGridSearchingFilters(JqGridSearchingFilters jqGridSearchingFilters)
 {
     return(JsonConvert.SerializeObject(jqGridSearchingFilters, Formatting.None, _jqGridRequestSearchingFiltersJsonConverter));
 }
Exemplo n.º 8
0
 /// <summary>
 /// Converts class which represents jqGrid filters to JSON
 /// </summary>
 /// <param name="jqGridSearchingFilters">The jqGrid filters.</param>
 /// <returns>The JSON.</returns>
 public static string ToJson(this JqGridSearchingFilters jqGridSearchingFilters)
 {
     return(JsonConvert.SerializeObject(jqGridSearchingFilters, Formatting.None, new JqGridRequestSearchingFiltersJsonConverter()));
 }
        private static StringBuilder AppendSearchingFilters(this StringBuilder javaScriptBuilder, JqGridSearchingFilters searchingFilters)
        {
            javaScriptBuilder.AppendJavaScriptObjectOpening()
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.TEMPLATES_FILTERS_GROUPING_OPERATOR, searchingFilters.GroupingOperator.ToString().ToUpperInvariant());

            if ((searchingFilters.Filters != null) && (searchingFilters.Filters.Count > 0))
            {
                javaScriptBuilder.AppendJavaScriptArrayFieldOpening(JqGridOptionsNames.Navigator.TEMPLATES_FILTERS_RULES);
                foreach (JqGridSearchingFilter searchingFilter in searchingFilters.Filters)
                {
                    javaScriptBuilder.AppendJavaScriptObjectOpening()
                    .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.TEMPLATES_FILTERS_RULE_FIELD, searchingFilter.SearchingName)
                    .AppendJavaScriptObjectEnumField(JqGridOptionsNames.Navigator.TEMPLATES_FILTERS_RULE_OPERATOR, searchingFilter.SearchingOperator)
                    .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.TEMPLATES_FILTERS_RULE_VALUE, searchingFilter.SearchingValue)
                    .AppendJavaScriptObjectFieldClosing();
                }
                javaScriptBuilder.AppendJavaScriptArrayFieldClosing();
            }

            if ((searchingFilters.Groups != null) && (searchingFilters.Groups.Count > 0))
            {
                javaScriptBuilder.AppendJavaScriptArrayFieldOpening(JqGridOptionsNames.Navigator.TEMPLATES_FILTERS_GROUPS);
                foreach (JqGridSearchingFilters innerSearchingFilters in searchingFilters.Groups)
                {
                    javaScriptBuilder.AppendSearchingFilters(innerSearchingFilters);
                }
                javaScriptBuilder.AppendJavaScriptArrayFieldClosing();
            }

            javaScriptBuilder.AppendJavaScriptObjectFieldClosing();

            return(javaScriptBuilder);
        }
Exemplo n.º 10
0
 public string SerializeJqGridSearchingFilters(JqGridSearchingFilters jqGridSearchingFilters)
 {
     return(JsonSerializer.Serialize(jqGridSearchingFilters, _jqGridSearchingFiltersJsonSerializerOptions));
 }