Пример #1
0
        /// <summary>
        /// Add required criteria
        /// </summary>
        /// <param name="criteria">The criteria</param>
        public IRequireResult Require(IFilterCriteria criteria)
        {
            if (_results.Any(c => c.Type.Equals(FilterCriteriaType.And)))
            {
                throw new InvalidOperationException(
                          "Required criteria were already registered. Use methods And(...) or Or(..) at required criteria chain for register new one.");
            }

            return(new RequireResult(this, criteria));
        }
Пример #2
0
        /// <summary>
        /// Add excluded criteria
        /// </summary>
        /// <param name="criteria">The criteria</param>
        public IExcludeResult Exclude(IFilterCriteria criteria)
        {
            if (_results.Any(c => c.Type.Equals(FilterCriteriaType.Not)))
            {
                throw new InvalidOperationException(
                          "Excluded criteria were already registered. Use method And(...) at excluded criteria chain for register new one.");
            }

            return(new ExcludeResult(this, criteria));
        }
Пример #3
0
        public FilteringOverview GetOverview()
        {
            _pageCriteria.SetValues(Page);
            _pageSizeCriteria.SetValues(PageSize);

            var additionalCriterias = new List <IFilterCriteria>();

            foreach (var kvp in _additionalCriteriaMap)
            {
                IFilterCriteriaBuilder criteriaBuilder = kvp.Value;
                object filtersPropertyValue            = ReflectionUtils.GetPropertyValue(CurrentInstance, kvp.Key);

                IFilterCriteria criteria = criteriaBuilder.Build(filtersPropertyValue);
                additionalCriterias.Add(criteria);
            }

            return(new FilteringOverview(_pageCriteria, _pageSizeCriteria, additionalCriterias));
        }
Пример #4
0
        public override ICommand CreateGetListCommand <T>(IFilterCriteria criteria)
        {
            Type   typeT    = typeof(T);
            string uniqueId = "232FDED0-6C97-40B4-930F-FC190124D181";

            if (!CommandCache.ContainsKey(string.Format(CACHE_KEY, uniqueId, typeT.FullName)))
            {
                Anito.Data.Schema.TypeTable schemaTable = Provider.GetSchema(typeT);

                Command sqlCommand = new Command();

                sqlCommand.SqlCommand.CommandText = string.Format(
                    "{0} {1} {2} {3}",
                    SELECT, SelectColumnsStatement(typeT), FROM, schemaTable.ViewSource
                    );
                CommandCache.Add(string.Format(CACHE_KEY, uniqueId, typeT.FullName), sqlCommand);
            }
            return(CommandCache[string.Format(CACHE_KEY, uniqueId, typeT.FullName)]);
        }
Пример #5
0
 public void SwitchToFilter(IFilterCriteria criteria)
 {
     this.CurrentFilter = criteria;
 }
Пример #6
0
 public ActionFilterChanged(IFilterCriteria criteria)
 {
     Criteria = criteria;
 }
Пример #7
0
 public void SwitchToFilter(IFilterCriteria criteria)
 {
     this.CurrentFilter = criteria;
 }
Пример #8
0
 public ClientPerspective()
 {
     CurrentFilter = new AllActionsFilter();
 }
Пример #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EfGenericRepository{TEntity}"/> class.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="filterCriteria">The filter criteria.</param>
 public EfGenericRepository(IDbContext context, IFilterCriteria <TEntity> filterCriteria)
 {
     this._filterCriteria = filterCriteria;
     this._context        = context;
     this._dbSet          = context.Set <TEntity>();
 }
Пример #10
0
 public FilterDisplay(IFilterCriteria criteria)
 {
     Criteria = criteria;
 }
Пример #11
0
 public RequireResult(FilterCriteriaBuilder builder, IFilterCriteria criteria)
 {
     _builder = builder;
     And(criteria);
 }
Пример #12
0
 /// <summary>
 /// Add criteria for excluding that will be used if previous chain of criteria which should be  excluded are false
 /// </summary>
 /// <param name="criteria">The criteria</param>
 /// <returns></returns>
 public IExcludeResult Or(IFilterCriteria criteria)
 {
     _builder._results.Add(new FilterCriteriaResult(criteria, FilterCriteriaType.Not, GetLevel() + 1));
     return(this);
 }
Пример #13
0
 public ExcludeResult(FilterCriteriaBuilder builder, IFilterCriteria criteria)
 {
     _builder = builder;
     And(criteria);
 }
Пример #14
0
 /// <summary>
 /// Add required criteria that will be used if previous required criteria are false
 /// </summary>
 /// <param name="criteria">The criteria</param>
 public IRequireResult Or(IFilterCriteria criteria)
 {
     _builder._results.Add(new FilterCriteriaResult(criteria, FilterCriteriaType.And, GetLevel() + 1));
     return(this);
 }
Пример #15
0
 public FilterCriteriaResult(IFilterCriteria criteria, FilterCriteriaType type, int level)
 {
     Criteria = criteria;
     Type     = type;
     Level    = level;
 }
Пример #16
0
 public IEnumerable <Product> Filter(IEnumerable <Product> products, IFilterCriteria <Product> criteria)
 {
     return(products.Where(criteria.IsSatisfied));
 }
Пример #17
0
 public FilterDisplay(IFilterCriteria criteria)
 {
     Criteria = criteria;
 }
Пример #18
0
 public ActionFilterChanged(IFilterCriteria criteria)
 {
     Criteria = criteria;
 }
Пример #19
0
 public abstract ICommand CreateGetListCommand <T>(IFilterCriteria criteria);