public async Task <PagedList <Rol> > GetRoles(RolQueryFilter filters) { var roles = await _unitOfWork.RolRepository.GetAll(); roles = filters.TipoRol != null?roles.Where(x => x.TipoRol == filters.TipoRol) : roles; roles = filters.Descripcion != null?roles.Where(x => x.Descripcion.ToLower().Contains(filters.Descripcion.ToLower())) : roles; return(_pagedGenerator.GeneratePagedList(roles, filters)); }
public async Task <ActionResult> Get([FromQuery] RolQueryFilter filters) { var roles = await _rolService.GetRoles(filters); var rolesDTO = _mapper.Map <IEnumerable <RolDTO> >(roles); var metadata = new MetaData().BuildMeta <Rol>(roles, filters, Request.Path.Value, _uriService); var response = new ApiResponse <IEnumerable <RolDTO> >(rolesDTO) { Meta = metadata }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }