public PostFilterSpecification(string keyword = "", int year = 0, int month = 0)
        {
            var compiled = Criteria.Compile();


            if (!String.IsNullOrEmpty(keyword))
            {
                Criteria = p => compiled(p) && (p.Number.CaseInsensitiveContains(keyword) ||
                                                p.Title != null && p.Title.CaseInsensitiveContains(keyword) ||
                                                p.Author != null && p.Author.CaseInsensitiveContains(keyword) ||
                                                p.Content != null && p.Content.CaseInsensitiveContains(keyword)
                                                );
            }

            if (year > 0)
            {
                compiled = Criteria.Compile();
                Criteria = p => compiled(p) && p.Year == year;
            }

            if (month > 0)
            {
                compiled = Criteria.Compile();
                Criteria = p => compiled(p) && p.Month == month;
            }
        }
예제 #2
0
        public YearFilterSpecifications(int year)
        {
            var compiled = Criteria.Compile();

            Criteria = t => compiled(t) && t.Year == year;
        }
예제 #3
0
        public YearIdFilterSpecifications(int id)
        {
            var compiled = Criteria.Compile();

            Criteria = t => compiled(t) && t.Id == id;
        }
        public CategoryFilterSpecification(IList <int> ids)
        {
            var compiled = Criteria.Compile();

            Criteria = c => compiled(c) && ids.Contains(c.Id);
        }
        public CategoryFilterSpecification(string code)
        {
            var compiled = Criteria.Compile();

            Criteria = c => compiled(c) && c.Code == code;
        }
        public PostNumberFilterSpecification(string number)
        {
            var compiled = Criteria.Compile();

            Criteria = p => compiled(p) && p.Number == number;
        }
        public PostIdFilterSpecification(int id)
        {
            var compiled = Criteria.Compile();

            Criteria = p => compiled(p) && p.Id == id;
        }
예제 #8
0
        public AppUserFilterSpecification(string keyword)
        {
            var compiled = Criteria.Compile();

            Criteria = u => compiled(u) && u.Name.CaseInsensitiveContains(keyword);
        }
예제 #9
0
        public UserPermissionFilterSpecification(AppUser user, IList <int> permissionIds)
        {
            var compiled = Criteria.Compile();

            Criteria = up => up.UserId == user.Id && permissionIds.Contains(up.PermissionId);
        }
예제 #10
0
        public TopPostFilterSpecification(bool top)
        {
            var compiled = Criteria.Compile();

            Criteria = p => compiled(p) && p.Top == top;
        }
예제 #11
0
        public UserPermissionFilterSpecification(Permission permission)
        {
            var compiled = Criteria.Compile();

            Criteria = up => up.PermissionId == permission.Id;
        }
예제 #12
0
        public UserPermissionFilterSpecification(AppUser user)
        {
            var compiled = Criteria.Compile();

            Criteria = up => up.UserId == user.Id;
        }
예제 #13
0
        public UserPermissionFilterSpecification(int userId, int permissionId)
        {
            var compiled = Criteria.Compile();

            Criteria = up => up.UserId == userId && up.PermissionId == permissionId;
        }
예제 #14
0
        public TermNumberFilterSpecifications(int number)
        {
            var compiled = Criteria.Compile();

            Criteria = t => compiled(t) && t.Number == number;
        }
예제 #15
0
        public PostIdFilterSpecification(IList <int> ids)
        {
            var compiled = Criteria.Compile();

            Criteria = p => compiled(p) && ids.Contains(p.Id);
        }
예제 #16
0
        public TermNumberFilterSpecifications(bool active)
        {
            var compiled = Criteria.Compile();

            Criteria = t => compiled(t) && t.Active == active;
        }
예제 #17
0
 public bool IsSatisfiedBy(TEntity item)
 {
     return(Criteria.Compile().Invoke(item));
 }