SenseNet.Search.ContentQuery.AddClause C# (CSharp) Метод

AddClause() публичный статический Метод

public static AddClause ( string originalText, string addition, ChainOperator chainOp ) : string
originalText string
addition string
chainOp ChainOperator
Результат string
        public static string AddClause(string originalText, string addition, ChainOperator chainOp)
        {
            if (addition == null)
                throw new ArgumentNullException("addition");
            if (addition.Length == 0)
                throw new ArgumentException("Clause cannot be empty", "addition");

            if (string.IsNullOrEmpty(originalText))
                return addition;

            var queryText = string.Empty;

            switch (chainOp)
            {
                case ChainOperator.And:
                    queryText = MoveSettingsToTheEnd(string.Format("+({0}) +({1})", originalText, addition)).Trim();
                    break;
                case ChainOperator.Or:
                    queryText = MoveSettingsToTheEnd(string.Format("({0}) {1}", originalText, addition));
                    break;
            }

            return queryText;
        }

Same methods

ContentQuery::AddClause ( Expression expression ) : void
ContentQuery::AddClause ( Expression expression, ChainOperator chainOp ) : void
ContentQuery::AddClause ( string text ) : void
ContentQuery::AddClause ( string text, ChainOperator chainOp ) : void

Usage Example

Пример #1
0
 /// <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;
 }