public LoadResult <PageReferenceDTO> FindReferences(ParameterRequestDTO req, ListOptions <PageReferenceDTO> o) { var q = Loader.Where(d => d.Page.Tenant.Code == req.TenantCode); if (req.ParameterTypeId != null) { q = q.Where(d => d.PageCategoryParameter.Type == req.ParameterTypeId.Value); } if (req.Type != null) { switch (req.Type.Value) { case ParameterRequestTypes.InvalidLinks: q = from par in q where !par.Page.Domain.Chain.Contains("|" + DbContext.Pages.Where(e => e.Id == par.LinkedPageId).Select(e => e.DomainId).FirstOrDefault() + "|") && DbContext.Pages.Where(e => e.Id == par.LinkedPageId).Select(e => e.Domain.Name).FirstOrDefault() != "Shared" && par.PageCategoryParameter.Type != 3 select par; break; case ParameterRequestTypes.MissingLinks: q = q.Where(d => d.LinkedPageId == null && d.PageCategoryParameter.Type != 1); break; } } if (req.ReferencedByPageId != null) { q = q.Where(d => d.PageId == req.ReferencedByPageId.Value); } else if (req.ReferencedPageId != null) { q = q.Where(d => d.LinkedPageId == req.ReferencedPageId.Value); } return(QueryPageReferenceDTO(q).LoadWith(o)); }
public LoadResult <PageReferenceDTO> GetReferences(ParameterRequestDTO req, LoadOptions opt) { var o = opt.GetOptionsFor <PageReferenceDTO>(); return(Unit.PageParameterRepository.FindReferences(req, o)); }
public IActionResult GetReferences([FromBody] ParameterRequestDTO req, [FromQuery] LoadOptions opt) { LoadResult <PageReferenceDTO> lst = service.GetReferences(req, opt); return(Respond(lst)); }