Exemplo n.º 1
0
        internal Filter(Filter filter)
        {
            Preconditions.NotNull(filter, nameof(filter));

            _operator = filter._operator;
            _terms    = filter._terms?.Select(term => term.Clone()).ToList();
        }
Exemplo n.º 2
0
        private Filter(FilterOperator @operator, Filter first, Filter second)
        {
            first._parent  = this;
            second._parent = this;

            _operator = @operator;
            _terms    = new List <Filter> {
                first, second
            };
        }
Exemplo n.º 3
0
        public static Dictionary <string, FieldFilter> ParseFilterExp(ref string filterExp, ListRequest dto)
        {
            var groups       = Regex.Matches(filterExp, _regexGetFilterGroupDetails, RegexOptions.IgnoreCase);
            var fieldFilters = new Dictionary <string, FieldFilter>();

            for (var i = 0; i < groups.Count; i++)
            {
                //Log.Debug($@"A - {DateTime.Now.ToString("O")}");
                var g         = groups[i];
                var groupName = $"group{i}";
                var not       = g.Groups[1]?.Value == "not";
                var fieldName = g.Groups[2].Value;
                filterExp = filterExp.Replace(g.ToString(), $"({groupName})");
                var value = g.Groups[4]?.Value?.Trim();
                if (value == null)
                {
                    continue;
                }

                FilterOperator?operator_ = g.Groups[3].Value.ToEnum <FilterOperator>();

                // No need this anymore, cause auto gen exp already included default operator
                //if ((isFilterAutoGenerated || operator_ == null)
                //    && dto.FilterSettings != null
                //    && dto.FilterSettings.ContainsKey(fieldName))
                //{
                //    operator_ = dto.FilterSettings[fieldName].DefaultOperator;
                //}
                fieldFilters[groupName] = new FieldFilter
                {
                    Not             = not,
                    Exp             = g.Groups[0]?.Value,
                    FieldName       = fieldName,
                    Operator        = operator_.Value,
                    Value           = value,
                    ValueTypeString = g.Groups[5]?.Value
                };
            }
            return(fieldFilters);
        }
Exemplo n.º 4
0
        public static IQueryFilterController Create(Field filterField, FilterOperator?filterOperator)
        {
            switch (filterOperator)
            {
            case FilterOperator.IsNull:
            case FilterOperator.IsNotNull:
                return(new EmptyQueryFilterController(filterField, filterOperator));

            case FilterOperator.Membership:
                return(new MembershipQueryFilterController(filterField, filterOperator));

            case FilterOperator.In:
                return(new InQueryFilterController(filterField, filterOperator));
            }

            switch (filterField.Type)
            {
            case FieldType.DateTime:
                return(new DateTimeQueryFilterController(filterField, filterOperator));

            case FieldType.Choice:
                return(new ChoiceQueryFilterController(filterField, filterOperator));

            case FieldType.Boolean:
                return(new BooleanQueryFilterController(filterField, filterOperator));

            case FieldType.User:
                return(new UserQueryFilterController(filterField, filterOperator));

            case FieldType.ContentTypeId:
                return(new ContentTypeIdQueryFilterController(filterField, filterOperator));

            case FieldType.Lookup:
                return(new LookupQueryFilterController(filterField, filterOperator));

            default:
                return(new DropdownQueryFilterController(filterField, filterOperator));
            }
        }
Exemplo n.º 5
0
 public UserQueryFilterController(Field field, FilterOperator?filterOperator) : base(field, filterOperator)
 {
 }
Exemplo n.º 6
0
 protected BaseQueryFilterController(Field field, FilterOperator?filterOperator)
 {
     Field          = field;
     FilterOperator = filterOperator;
 }
Exemplo n.º 7
0
 public static string GetValueFromAppliedFilters(this IList <IFilterDescriptor> filters, string valueName, FilterOperator?filterOperator = null)
 {
     foreach (var filter in filters)
     {
         var val1 = GetValueFromAppliedFilter(filter, valueName, filterOperator);
         if (!String.IsNullOrEmpty(val1))
         {
             return(val1);
         }
     }
     return("");
 }
Exemplo n.º 8
0
 public DateTimeQueryFilterController(Field field, FilterOperator?filterOperator) : base(field, filterOperator)
 {
     _dateOnly = ((FieldDateTime)field).DateOnly;
 }
Exemplo n.º 9
0
 private Filter(FilterOperator @operator, ReadOnlyCollection <Filter> terms)
 {
     _operator = @operator;
     _terms    = terms;
 }
Exemplo n.º 10
0
        public static string GetValueFromAppliedFilter(this IFilterDescriptor filter, string valueName, FilterOperator?filterOperator = null)
        {
            if (filter is CompositeFilterDescriptor)
            {
                foreach (IFilterDescriptor childFilter in ((CompositeFilterDescriptor)filter).FilterDescriptors)
                {
                    var val1 = GetValueFromAppliedFilter(childFilter, valueName, filterOperator);
                    if (!String.IsNullOrEmpty(val1))
                    {
                        return(val1);
                    }
                }
            }
            else
            {
                var filterDescriptor = (FilterDescriptor)filter;
                if (filterDescriptor != null &&
                    filterDescriptor.Member.Equals(valueName, StringComparison.InvariantCultureIgnoreCase))
                {
                    if (!filterOperator.HasValue || filterDescriptor.Operator == filterOperator.Value)
                    {
                        return(Convert.ToString(filterDescriptor.Value));
                    }
                }
            }

            return("");
        }
Exemplo n.º 11
0
 public ContentTypeIdQueryFilterController(Field field, FilterOperator?filterOperator) : base(field, filterOperator)
 {
 }
Exemplo n.º 12
0
 public ChoiceQueryFilterController(Field field, FilterOperator?filterOperator) : base(field, filterOperator)
 {
     _choices = ((FieldChoice)field).Choices.OrderBy(c => c).ToArray();
 }
Exemplo n.º 13
0
 public DateTimeQueryFilterController(Field field, FilterOperator?filterOperator) : base(field, filterOperator)
 {
     _model = new DateTimeFieldTypeModel(field);
 }
Exemplo n.º 14
0
        public static FilterSetting GetFilterSetting <T>(Expression <Func <T, object> > exp, FilterOperator?defaultOperator = null)
        {
            var expStr     = exp.Body.ToString().Replace("Convert(", "").Replace(", Object)", "");
            var x          = Expression.Parameter(typeof(T), "x");
            var properties = expStr.Split('.');
            var property   = Expression.Property(x, properties[1]);

            for (var i = 2; i < properties.Length; i++)
            {
                property = Expression.Property(property, properties[i]);
            }
            var fs = new FilterSetting(property, x)
            {
                ModelName       = typeof(T).Name,
                DefaultOperator = defaultOperator
            };

            return(fs);
        }
Exemplo n.º 15
0
 public MembershipQueryFilterController(Field field, FilterOperator?filterOperator) : base(field, filterOperator)
 {
 }
Exemplo n.º 16
0
 public DropdownQueryFilterController(Field field, FilterOperator?filterOperator) : base(field, filterOperator)
 {
 }
Exemplo n.º 17
0
 internal void SetSecondFilterOperator(FilterOperator?value)
 {
     secondFilterOperator = value;
 }
Exemplo n.º 18
0
 internal void SetFilterOperator(FilterOperator?value)
 {
     filterOperator = value;
 }
Exemplo n.º 19
0
        /// <summary>
        /// Set parameters as an asynchronous operation.
        /// </summary>
        /// <param name="parameters">The parameters.</param>
        /// <returns>A Task representing the asynchronous operation.</returns>
        public override async Task SetParametersAsync(ParameterView parameters)
        {
            if (parameters.DidParameterChange(nameof(Visible), Visible) ||
                parameters.DidParameterChange(nameof(Title), Title))
            {
                if (Grid != null)
                {
                    await Grid.ChangeState();
                }
            }

            if (parameters.DidParameterChange(nameof(SortOrder), SortOrder))
            {
                sortOrder = new SortOrder?[] { parameters.GetValueOrDefault <SortOrder?>(nameof(SortOrder)) };
            }

            if (parameters.DidParameterChange(nameof(FilterValue), FilterValue))
            {
                filterValue = parameters.GetValueOrDefault <object>(nameof(FilterValue));

                if (FilterTemplate != null)
                {
                    FilterValue = filterValue;
                    if (Grid.IsVirtualizationAllowed())
                    {
#if NET5
                        if (Grid.virtualize != null)
                        {
                            await Grid.virtualize.RefreshDataAsync();
                        }
#endif
                    }
                    else
                    {
                        await Grid.Reload();
                    }

                    return;
                }
            }

            if (parameters.DidParameterChange(nameof(FilterOperator), FilterOperator))
            {
                filterOperator = parameters.GetValueOrDefault <FilterOperator>(nameof(FilterOperator));
            }

            if (parameters.DidParameterChange(nameof(SecondFilterValue), SecondFilterValue))
            {
                secondFilterValue = parameters.GetValueOrDefault <object>(nameof(SecondFilterValue));
            }

            if (parameters.DidParameterChange(nameof(SecondFilterOperator), SecondFilterOperator))
            {
                secondFilterOperator = parameters.GetValueOrDefault <FilterOperator>(nameof(SecondFilterOperator));
            }

            if (parameters.DidParameterChange(nameof(LogicalFilterOperator), LogicalFilterOperator))
            {
                logicalFilterOperator = parameters.GetValueOrDefault <LogicalFilterOperator>(nameof(LogicalFilterOperator));
            }

            await base.SetParametersAsync(parameters);
        }