Beispiel #1
0
        public async Task <IEnumerable <CommentViewModel> > CommentList(CommentQueryParameter param)
        {
            var items = await CommentQuery.SelectAsync(param);

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

            return(result);
        }
        public async Task <List <Comment> > SelectAsync(CommentQueryParameter param)
        {
            Func <IQueryable <Comment>, IQueryable <Comment> > query = (queryable) => {
                if (param == null)
                {
                    return(queryable);
                }
                if (param.PostId != null)
                {
                    queryable = queryable.Where(e => e.PostId == param.PostId.Value);
                }
                if (param.UserId != null)
                {
                    queryable = queryable.Where(e => e.UserId == param.UserId.Value);
                }
                return(queryable);
            };

            return(await SelectAsync(query));
        }
        public async Task <IPaged <Comment> > PagedAsync(int pageIndex, int pageSize, CommentQueryParameter param)
        {
            Func <IQueryable <Comment>, IQueryable <Comment> > query = (queryable) => {
                if (param == null)
                {
                    return(queryable);
                }
                if (param.PostId != null)
                {
                    queryable = queryable.Where(e => e.PostId == param.PostId.Value);
                }
                if (param.UserId != null)
                {
                    queryable = queryable.Where(e => e.UserId == param.UserId.Value);
                }
                return(queryable);
            };

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

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

            return(paged);
        }