예제 #1
0
        public async Task <PagedResultOutput <GetUserListDto> > GetUserListPagedAsync(GetUserListPagedInput input)
        {
            var query = _userRepository.GetAll()
                        .Include(p => p.Tenant)
                        .WhereIf(!input.SearchText.IsNullOrEmpty(),
                                 p => p.UserName.Contains(input.SearchText) ||
                                 p.Name.Contains(input.SearchText))
                        .WhereIf(input.IsActive.HasValue, p => p.IsActive == input.IsActive.Value)
                        .WhereIfDynamic(input.StartTime.HasValue, input.SearchTime + ">", input.StartTime)
                        .WhereIfDynamic(input.EndTime.HasValue, input.SearchTime + "<", input.EndTime);

            var count = await query.CountAsync();

            var list = await query.OrderBy(input).PageBy(input).ToListAsync();

            return(new PagedResultOutput <GetUserListDto>(count, list.MapTo <List <GetUserListDto> >()));
        }
예제 #2
0
        public async Task <JsonResult> GetUserListPaged(GetUserListPagedInput input)
        {
            var result = await _userAppService.GetUserListPagedAsync(input);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }