public async Task <PagedList <SangreCliente> > GetSangreClientes(SangreClienteQueryFilter filters) { var sangresListado = await _unitOfWork.SangreClienteRepository.GetAll(); sangresListado = filters.Tipo != null?sangresListado.Where(x => x.TipoSangre.ToLower().Contains(filters.Tipo.ToLower())) : sangresListado; sangresListado = filters.Descripcion != null?sangresListado.Where(x => x.Descripcion.ToLower().Contains(filters.Descripcion.ToLower())) : sangresListado; sangresListado = filters.Estatus != null?sangresListado.Where(x => x.Estatus == filters.Estatus) : sangresListado; return(_pagedGenerator.GeneratePagedList(sangresListado, filters)); }
public async Task <ActionResult <IEnumerable <SangreClienteDTO> > > Get([FromQuery] SangreClienteQueryFilter filters) { var sangres = await _sangreClienteService.GetSangreClientes(filters); var sangresDTO = _mapper.Map <IEnumerable <SangreClienteDTO> >(sangres); var metadata = new MetaData().BuildMeta <SangreCliente>(sangres, filters, Request.Path.Value, _uriService); var response = new ApiResponse <IEnumerable <SangreClienteDTO> >(sangresDTO) { Meta = metadata }; Request.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }