public async Task <PagedResponse <List <GuidebookByTypeIdResponse> > > GetGuidebook(GuidebookRequest request) { var response = new List <GuidebookByTypeIdResponse>(); var guidebook = await _unitOfWork.GuidebookRepository.GetPagedReponseAsync(request.PageNumber, request.PageSize, filter : x => (request.TypeId == null || x.TypeId == request.TypeId.Value) && (request.SuitableAge == null || x.SuitableAge == request.SuitableAge.Value) && (request.SearchValue == null || x.Title.Contains(request.SearchValue)) && x.DelFlag == false, orderBy : x => x.OrderByDescending(o => o.CreatedTime), includeProperties : "Type"); response = _mapper.Map <List <GuidebookByTypeIdResponse> >(guidebook); var totalCount = await _unitOfWork.GuidebookRepository.CountAsync(x => (request.TypeId == null || x.TypeId == request.TypeId.Value) && (request.SuitableAge == null || x.SuitableAge == request.SuitableAge.Value) && (request.SearchValue == null || x.Title.Contains(request.SearchValue)) && x.DelFlag == false); return(new PagedResponse <List <GuidebookByTypeIdResponse> >(response, request.PageNumber, request.PageSize, totalCount)); }
public async Task <IActionResult> GetGuidebook([FromQuery] GuidebookRequest request) { return(Ok(await _guidebookService.GetGuidebook(request))); }