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));
        }
Пример #2
0
        public LoadResult <PageReferenceDTO> GetReferences(ParameterRequestDTO req, LoadOptions opt)
        {
            var o = opt.GetOptionsFor <PageReferenceDTO>();

            return(Unit.PageParameterRepository.FindReferences(req, o));
        }
Пример #3
0
        public IActionResult GetReferences([FromBody] ParameterRequestDTO req, [FromQuery] LoadOptions opt)
        {
            LoadResult <PageReferenceDTO> lst = service.GetReferences(req, opt);

            return(Respond(lst));
        }