public async Task <PagedList <Combustible> > GetCombustibles(CombustibleQueryFilter filters)
        {
            var combustibles = await _unitOfWork.CombustibleRepository.GetAll();

            combustibles = filters.TipoCombustible != null?combustibles.Where(x => x.TipoCombustible == filters.TipoCombustible) : combustibles;

            combustibles = filters.Descripcion != null?combustibles.Where(x => x.Descripcion.ToLower().Contains(filters.Descripcion.ToLower())) : combustibles;

            combustibles = filters.Estatus != null?combustibles.Where(x => x.Estatus == filters.Estatus) : combustibles;

            return(_pagedGenerator.GeneratePagedList(combustibles, filters));
        }
Beispiel #2
0
        public async Task <ActionResult <IEnumerable <CombustibleDTO> > > Get([FromQuery] CombustibleQueryFilter filters)
        {
            var combustibles = await _combustibleService.GetCombustibles(filters);

            var combustiblesDTO = _mapper.Map <IEnumerable <CombustibleDTO> >(combustibles);
            var metadata        = new MetaData().BuildMeta <Combustible>(combustibles, filters, Request.Path.Value, _uriService);
            var response        = new ApiResponse <IEnumerable <CombustibleDTO> >(combustiblesDTO)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));
            return(Ok(response));
        }