Exemplo n.º 1
0
        public PaginatedDataResponseDto <List <UserProfileEntity> > GetAll(UserProfilesRequestDto data)
        {
            var query = this.DbContext.UserProfiles
                        //.Include(x => x.Role)
                        .Include(x => x.Settings)
                        .AsQueryable();

            if (data.Enabled != null)
            {
                query = query.Where(x => x.Settings.Enabled == data.Enabled);
            }
            if (!String.IsNullOrEmpty(data.SearchText))
            {
                string search = data.SearchText.ToLower();
                query = query.Where(x => x.Name.ToLower().Contains(search) || x.Email.ToLower().Contains(search));
            }
            int totalCount = query.Count();

            query = query
                    .OrderByDescending(x => x.CreatedOnUtc)
                    .Skip(data.PageSize.Value * data.Page.Value)
                    .Take(data.PageSize.Value);
            var items = query.ToList();

            var result = new PaginatedDataResponseDto <List <UserProfileEntity> >()
            {
                RequestParams  = data,
                ResponseParams = new PaginatedDataResponseParamsDto
                {
                    TotalCount = totalCount,
                    Pages      = (int)Math.Ceiling((double)totalCount / (double)data.PageSize.Value)
                },
                Data = items
            };

            return(result);
        }
        public IActionResult GetAll([FromQuery] UserProfilesRequestDto data)
        {
            var result = this.UnitOfWork.UserProfileRepository.GetAll(data);

            return(this.JsonResponse(result));
        }