public async Task <ActionResult <IEnumerable <ContratoDTO> > > Get([FromQuery] ContratoQueryFilter filters) { var contratos = await _contratoService.GetContratos(filters); var contratosDTO = _mapper.Map <IEnumerable <ContratoDTO> >(contratos); var metadata = new MetaData().BuildMeta <Contrato>(contratos, filters, Request.Path.Value, _uriService); var response = new ApiResponse <IEnumerable <ContratoDTO> >(contratosDTO) { Meta = metadata }; Request.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }
public async Task <PagedList <Contrato> > GetContratos(ContratoQueryFilter filters) { var contratos = await _unitOfWork.ContratoRepository.GetAll(); contratos = filters.Concepto != null?contratos.Where(x => x.Concepto.ToLower().Contains(filters.Concepto.ToLower())) : contratos; contratos = filters.Descripcion != null?contratos.Where(x => x.Descripcion.ToLower().Contains(filters.Descripcion.ToLower())) : contratos; contratos = filters.Estatus != null?contratos.Where(x => x.Estatus == filters.Estatus) : contratos; contratos = filters.Cliente != null?contratos.Where(x => x.IdCliente == filters.Cliente) : contratos; contratos = filters.Usuario != null?contratos.Where(x => x.IdUsuario == filters.Usuario) : contratos; contratos = filters.Vehiculo != null?contratos.Where(x => x.IdVehiculo == filters.Vehiculo) : contratos; return(_pagedGenerator.GeneratePagedList(contratos, filters)); }