Inheritance: IContentQuery
Beispiel #1
0
 public static SearchFolder Create(ContentQuery query)
 {
     var folder = new SearchFolder
     {
         _contentQuery = query,
         Children = query.Execute().Nodes.ToArray()
     };
     return folder;
 }
 /// <summary>
 /// Gets the groups.
 /// </summary>
 /// <returns>List of group nodes.</returns>
 private List<Node> GetGroups()
 {
     var groups = new List<Node>();
     if (!String.IsNullOrEmpty(GroupQuery))
     {
         var sort = new[] { new SortInfo { FieldName = "Name" } };
         var settings = new QuerySettings {EnableAutofilters = false, EnableLifespanFilter = false, Sort = sort};
         var query = new ContentQuery { Text = GroupQuery, Settings  = settings};
         query.AddClause(string.Format("-Name:({0})", string.Join(" ", RepositoryConfiguration.SpecialGroupNames)));
         var results = query.Execute();
         groups.AddRange(results.Nodes);
     }
     return groups;
 }
Beispiel #3
0
        public void ContentQuery_RecursiveQuery_Empty()
        {
            ContentQuery q;
            IEnumerable<int> r;
            int id;

            q = new ContentQuery { Text = "+Members:{{Name:NOBODY42}} +Name:Administrators .AUTOFILTERS:OFF" };
            r = q.ExecuteToIds(ExecutionHint.ForceIndexedEngine);
            Assert.IsTrue(r.Count() == 0, "#05");

            q = new ContentQuery { Text = "Members:{{Name:NOBODY42}} Name:Administrators .AUTOFILTERS:OFF" };
            r = q.ExecuteToIds(ExecutionHint.ForceIndexedEngine);
            Assert.IsTrue(r.Count() > 0, "#07");
            id = r.First();
            Assert.IsTrue(id == Group.Administrators.Id, "#08");
        }
Beispiel #4
0
        public void ContentQuery_RecursiveQuery()
        {
            var q = new ContentQuery { Text = "Members:{{Id:1}} .AUTOFILTERS:OFF", Settings = new QuerySettings { EnableAutofilters = false } };
            var r = q.ExecuteToIds(ExecutionHint.ForceIndexedEngine);
            Assert.IsTrue(r.Count() > 0, "#01");
            var id = r.First();
            Assert.IsTrue(id == Group.Administrators.Id, "#02");

            q = new ContentQuery { Text = "Members:{{Name:admin*}} .AUTOFILTERS:OFF", Settings = new QuerySettings { EnableAutofilters = false } };
            r = q.ExecuteToIds(ExecutionHint.ForceIndexedEngine);
            Assert.IsTrue(r.Count() > 0, "#11");
            id = r.First();
            Assert.IsTrue(id == Group.Administrators.Id, "#12");
        }
Beispiel #5
0
 public bool HasApprovingItems()
 {
     var hasPermission = false;
     var cq = new ContentQuery();
     cq.Text = "+InFolder:/Root/Sites/Default_Site/Book_Rental_Demo_Site/News* +Approvable:yes +Type:newsarticle";
     var result = cq.Execute(ExecutionHint.ForceIndexedEngine);
     int i = 0;
     var nodeList = result.Nodes.ToList();
     var count = nodeList.Count;
     while (!hasPermission && i<count)
     {
         hasPermission |= nodeList[i].Security.HasPermission(PermissionType.Approve);
         i++;
     }
     return hasPermission;
 }