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));
        }
Beispiel #2
0
        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));
        }