Example #1
0
        public async Task <IEnumerable <PostViewModel> > List(PostQueryParameter param)
        {
            var items = await PostQuery.SelectAsync(param);

            var result = items.MapList <PostViewModel>();

            return(result);
        }
Example #2
0
        public async Task <List <Post> > SelectAsync(PostQueryParameter param)
        {
            Func <IQueryable <Post>, IQueryable <Post> > query = (queryable) => {
                if (param == null)
                {
                    return(queryable);
                }
                if (!string.IsNullOrWhiteSpace(param.Title))
                {
                    queryable = queryable.Where(e => e.Title.Contains(param.Title));
                }
                if (!string.IsNullOrWhiteSpace(param.Key))
                {
                    queryable = queryable.Where(e => e.Content.Contains(param.Key));
                }
                return(queryable);
            };

            return(await base.SelectAsync(query));
        }
Example #3
0
        public async Task <IPaged <Post> > PagedAsync(int pageIndex, int pageSize, PostQueryParameter param)
        {
            Func <IQueryable <Post>, IQueryable <Post> > query = (queryable) => {
                if (param == null)
                {
                    return(queryable);
                }
                if (!string.IsNullOrWhiteSpace(param.Title))
                {
                    queryable = queryable.Where(e => e.Title.Contains(param.Title));
                }
                if (!string.IsNullOrWhiteSpace(param.Key))
                {
                    queryable = queryable.Where(e => e.Content.Contains(param.Key));
                }
                return(queryable);
            };

            return(await base.PagedAsync(query, pageIndex, pageSize));
        }
Example #4
0
        public async Task <IPaged <PostViewModel> > Paged(int pageIndex = 1, int pageSize = 10, PostQueryParameter param = null)
        {
            var result = await PostQuery.PagedAsync(pageIndex, pageSize, param);

            var paged = result.MapPaged <PostViewModel>();

            return(paged);
        }