private void UpdateFilter(PropertyFilter filter)
        {
            if (filter == null)
            {
                return;
            }

            ModelFilters.AddOrUpdate(new ModelFilter
            {
                Filter   = filter.Filter,
                Property = typeof(TViewModel).GetProperty(filter.Name)
            });
        }
        /// <summary>
        /// Determines whether the <see cref="T:System.Collections.IList"/> contains a specific value.
        /// </summary>
        /// <returns>
        /// true if the <see cref="T:System.Object"/> is found in the <see cref="T:System.Collections.IList"/>; otherwise, false.
        /// </returns>
        /// <param name="value">The object to locate in the <see cref="T:System.Collections.IList"/>. </param>
        public bool Contains(object value)
        {
            if (this.Root != null)
            {
                if (value is Tag)
                {
                    var tag = value as Tag;
                    return(Root.Any(x => x.Equals(tag.Id)));
                }

                return(Root.Any(x => x.Equals(
                                    value.ToString()) || x.Equals(ModelFilters.Handleize(value.ToString()))));
            }

            return(false);
        }
Esempio n. 3
0
        /// <summary>
        /// 返回一个分页的文章列表
        /// </summary>
        /// <param name="pageModel">从视图传过来的分页数据对象</param>
        /// <returns></returns>
        public virtual ActionResult Index(PageModel pageModel)
        {
            pageModel.CatalogId = CatalogId;
            key = pageModel.Key;
            if (pageModel.PageSize <= 5)
            {
                pageModel.PageSize = 5;
            }
            BeforeGetPageData(pageModel);
            if (pageModel.SortField.IsEmpty())
            {
                pageModel.SortField = "Id";
                pageModel.SortOrder = "DESC";
            }
            var pager = _article.GetPageInCatalog(pageModel, ModelFilters.ToArray());

            AfterGetPageData(pager);
            return(View(pager));
        }
 public void ModelFilter <TFilter>()
     where TFilter : IModelFilter, new()
 {
     ModelFilters.Add(new TFilter());
 }