public PagedResponse <ProjectAbbreviatedDTO> FindPage(FindPageRequest <ProjectFilterOptions, ProjectOrderOptions> req) { var res = new PagedResponse <ProjectAbbreviatedDTO>(); var query = _projectRepository.GetBasicQuery(); //foreach (var option in req.Filters) //{ // query.ApplyFilterOption(option.Option, option.Value); //} query.ApplySortingOptions(req.SortingOption) .Page(req.PageNum, req.PageSize); var projects = query.ToList(); if (projects != null || projects.Count == 0) { return((PagedResponse <ProjectAbbreviatedDTO>) res.ReturnErrorResponseWith("Projects not found for query")); } res.Success = true; res.EntitiesDTO = _mapper.Map <ICollection <Project>, ICollection <ProjectAbbreviatedDTO> >(projects); res.PageNum = req.PageNum; res.PageSize = req.PageSize; res.MaxPage = query.Count() / req.PageSize; return(res); }
public LoadResult <PageListDTO> FindUsing(FindPageRequest request, LoadOptions opts) { var q = Loader.Where(d => d.TenantId == request.TenantId); switch (request.TypeEnum) { case PageTypes.AnyRoutable: q = q.Where(d => d.HasRoute); break; case PageTypes.ParameterizedRoutable: q = q.Where(d => d.HasRoute && d.RouteParameters != null); break; case PageTypes.UnParameterizedRoutable: q = q.Where(d => d.HasRoute && d.RouteParameters == null); break; case PageTypes.Embedded: q = q.Where(d => d.CanEmbed); break; } return(QueryPageListDTO(q).LoadWith(opts.GetOptionsFor <PageListDTO>())); }
public LoadResult <PageListDTO> FindPages(FindPageRequest request, LoadOptions opts) { return(Unit.PageRepository.FindUsing(request, opts)); }
public IActionResult FindPages([FromQuery] LoadOptions opts, [FromBody] FindPageRequest request) { LoadResult <PageListDTO> pages = _service.FindPages(request, opts); return(Respond(pages)); }