public PageList <Ingreso> GetIngresos(IngresoQueryFilter filters) { var ingresos = _unitOfWork.IngresoRepository.GetAll(); if (filters.Nombre != null) { ingresos = ingresos.Where(x => x.Nombre.ToLower().Contains(filters.Nombre.ToLower())); } if (filters.Apellido != null) { ingresos = ingresos.Where(x => x.Apellido.ToLower().Contains(filters.Apellido.ToLower())); } if (filters.Edad != null) { ingresos = ingresos.Where(x => x.Edad == filters.Edad); } if (filters.Casa != null) { ingresos = ingresos.Where(x => x.Casa == filters.Casa); } var pageIngesos = PageList <Ingreso> .Create(ingresos, filters.PageNumber, filters.PageSize); return(pageIngesos); }
public IActionResult GetIngresos([FromQuery] IngresoQueryFilter filters) { var ingresos = _ingresoService.GetIngresos(filters); var ingresosDto = _mapper.Map <IEnumerable <IngresoDto> >(ingresos); var respose = new ApiResponse <IEnumerable <IngresoDto> >(ingresosDto); var matadata = new { ingresos.TotalCount, ingresos.PageSize, ingresos.CurrentPage, ingresos.TotlaPages, ingresos.HasNextPage, ingresos.HasPreviousPage }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(matadata)); return(Ok(respose)); }