/// <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;
 }
Esempio n. 2
0
 /// <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;
 }
Esempio n. 3
0
 public static Filter CreateFilterGroup(LogicalOperationStrict logicalOperation)
 {
     return(new Filter()
     {
         FilterType = FilterType.FilterGroup,
         LogicalOperation = logicalOperation,
         Items = new Dictionary <string, Filter>()
     });
 }
Esempio n. 4
0
 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));
        }
Esempio n. 6
0
 /// <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;
 }