/// <summary> /// Constructor. /// </summary> /// <param name="columnPath">Column path.</param> /// <param name="values">Values collection.</param> /// <param name="comparisonType">Comparison type.</param> /// <param name="logicalOperation">Logical operation.</param> public HierarchyDataStructureFilter(string columnPath, IEnumerable <object> values, FilterComparisonType comparisonType = FilterComparisonType.Equal, LogicalOperationStrict logicalOperation = LogicalOperationStrict.And) { ColumnPath = columnPath; Values = values; ComparisonType = comparisonType; LogicalOperation = logicalOperation; }
/// <summary> /// Constructor. /// </summary> /// <param name="columnPath">Column path.</param> /// <param name="values">Values collection.</param> /// <param name="comparisonType">Comparison type.</param> /// <param name="logicalOperation">Logical operation.</param> public EntityCollectionMappingHandlerFilter(string columnPath, List <object> values, FilterComparisonType comparisonType = FilterComparisonType.Equal, LogicalOperationStrict logicalOperation = LogicalOperationStrict.And) { ColumnPath = columnPath; Values = values; ComparisonType = comparisonType; LogicalOperation = logicalOperation; }
public static Filter CreateFilterGroup(LogicalOperationStrict logicalOperation) { return(new Filter() { FilterType = FilterType.FilterGroup, LogicalOperation = logicalOperation, Items = new Dictionary <string, Filter>() }); }
protected static ExpressionMetadata GenerateGroup(LogicalOperationStrict logicalOperation) { return(new ExpressionMetadata() { NodeType = ExpressionMetadataNodeType.Group, LogicalOperation = logicalOperation, Items = new List <ExpressionMetadata>() }); }
/// <summary> /// Get dictionary, containing column name as a key and value for filtering as a value. /// </summary> /// <param name="hierarchyDataFilters"><see cref="Dictionary<string, object>"/>filters</param> /// <param name="filtersGroup"><see cref="HierarchyDataStructureFilterGroup"/>Group for hierarchy data structure filters.</param> /// <param name="logicalOperationStrict"><see cref="LogicalOperationStrict"/>Logical operation.</param> /// <returns><see cref="EntityCollectionMappingHandlerFilterGroup"/>.</returns> protected virtual EntityCollectionMappingHandlerFilterGroup GetFilterGroup(Dictionary <string, object> hierarchyDataFilters, HierarchyDataStructureFilterGroup filtersGroup, LogicalOperationStrict logicalOperationStrict = LogicalOperationStrict.And) { List <EntityCollectionMappingHandlerFilter> filters = GetEntityCollectionMappingHandlerFilter(hierarchyDataFilters); var hierarchyDataStructureFilters = GetEntityCollectionMappingHandlerFilter(filtersGroup); if (hierarchyDataStructureFilters != null && hierarchyDataStructureFilters.Any()) { filters.AddRange(hierarchyDataStructureFilters); } LogicalOperationStrict logicalOperation = filtersGroup != null ? filtersGroup.LogicalOperation : logicalOperationStrict; return(new EntityCollectionMappingHandlerFilterGroup(filters, logicalOperation)); }
/// <summary> /// Constructor. /// </summary> /// <param name="filters">Filters collection.</param> /// <param name="logicalOperation">Logical operation.</param> public EntityCollectionMappingHandlerFilterGroup(List <EntityCollectionMappingHandlerFilter> filters, LogicalOperationStrict logicalOperation = LogicalOperationStrict.And) { Filters = filters; LogicalOperation = logicalOperation; }
/// <summary> /// Constructor. /// </summary> /// <param name="filters">Filters collection.</param> /// <param name="logicalOperation">Logical operation.</param> public HierarchyDataStructureFilterGroup(IEnumerable <HierarchyDataStructureFilter> filters, LogicalOperationStrict logicalOperation = LogicalOperationStrict.And) { Filters = filters; LogicalOperation = logicalOperation; }