private static KeywordCondition GetCondition(SubString attributes)
        {
            KeywordCondition keywordCondition = (KeywordCondition)0;

            attributes.Trim();
            StringReader stringReader = new StringReader(attributes);

            while (stringReader.hasNext)
            {
                if (stringReader.NextEquals("transfer"))
                {
                    stringReader.position += "transfer".Length;
                    keywordCondition      |= KeywordCondition.Transfer;
                }
                else if (stringReader.NextEquals("deckbuild"))
                {
                    stringReader.position += "deckbuild".Length;
                    keywordCondition      |= KeywordCondition.EditDeck;
                }
                else
                {
                    stringReader.position++;
                }
            }
            return(keywordCondition);
        }
 public KeywordReference(ObjectReference.Type type, int id, KeywordCondition conditionMask = (KeywordCondition)0)
 {
     this.type          = type;
     this.id            = id;
     keyword            = null;
     this.conditionMask = conditionMask;
 }
 public KeywordReference(string keyword, KeywordCondition conditionMask = (KeywordCondition)0)
 {
     type               = ObjectReference.Type.None;
     id                 = 0;
     this.keyword       = keyword;
     this.conditionMask = conditionMask;
 }
        public static void Write(KeywordReference keywordReference, JsonTextWriter writer)
        {
            KeywordCondition keywordCondition = keywordReference.conditionMask;

            if (keywordReference.type == ObjectReference.Type.None)
            {
                if (keywordCondition == (KeywordCondition)0)
                {
                    writer.WriteValue(keywordReference.keyword);
                    return;
                }
                writer.WriteStartObject();
                writer.WritePropertyName("condition");
                writer.WriteValue((object)keywordCondition);
                writer.WritePropertyName("keyword");
                writer.WriteValue(keywordReference.keyword);
                writer.WriteEndObject();
                return;
            }
            writer.WriteStartObject();
            if (keywordCondition != 0)
            {
                writer.WritePropertyName("condition");
                writer.WriteValue((object)keywordCondition);
            }
            writer.WritePropertyName("type");
            writer.WriteValue((object)keywordReference.type);
            writer.WritePropertyName("id");
            writer.WriteValue(keywordReference.id);
            writer.WriteEndObject();
        }
        public string GetContent(string uri, string templateUri = "")
        {
            Schema schema = new Schema();
            schema.Title = Randomizer.AnyString(10);
            Component component = new Component();
            component.Title = Randomizer.AnyString(30);
            component.Id = Randomizer.AnyUri(16);
            component.Schema = schema;

            Field field1 = Randomizer.AnyTextField(6, 120, true);
            Field field2 = Randomizer.AnyTextField(8, 40, false);

            FieldSet fieldSet = new FieldSet();
            fieldSet.Add(field1.Name, field1);
            fieldSet.Add(field2.Name, field2);
            component.Fields = fieldSet;

            if (templateUri == "componentlink")
            {
                CustomizeCompomentForComponentLink(component);
            }
            if (templateUri == "embedded")
            {
                CustomizeCompomentForEmbeddedField(component);
            }
            if (templateUri == "keyword")
            {
                CustomizeCompomentForKeywordField(component);
            }
            if(templateUri == "componentIgnoreCase")
            {
                CustomizeCompomentForComponentLinkIgnoreCase(component);
            }
           
            if (uri == "component")
            {
                return SerializerService.Serialize<Component>(component);
            }

            ComponentTemplate ct = new ComponentTemplate();
            ct.Title = Randomizer.AnyString(20);
            Field fieldView = new Field();
            fieldView.Name = "view";
            fieldView.Values.Add("DefaultComponentView");
            ct.MetadataFields = new FieldSet();
            ct.MetadataFields.Add(fieldView.Name, fieldView);

            ComponentPresentation cp = new ComponentPresentation();
            cp.Component = component;
            cp.ComponentTemplate = ct;

            Condition condition = new KeywordCondition() { Keyword = new Keyword() { Id = "tcm:2-123-1024", Key = "test", Title = "Test" }, Operator = NumericalConditionOperator.Equals, Value = 1 };
            cp.Conditions = new List<Condition>() { condition };

            return SerializerService.Serialize<ComponentPresentation>(cp);
        }
        protected virtual KeywordCondition CreateKeywordCondition(string value, ISearchSettings settings)
        {
            var keywordCondition = new KeywordCondition
            {
                TargetFields = settings.KeywordSearchTargets.ToArray(),
                Keywords     = value?.Split(new[] { '+' }, StringSplitOptions.RemoveEmptyEntries) ?? Array.Empty <string>(),
            };

            return(keywordCondition);
        }
        private KeywordCondition CreateKeywordCondition(string value, Item searchSettings)
        {
            var keywordCondition = new KeywordCondition
            {
                TargetFields = searchSettings[Templates.SearchSettings.Fields.KeywordSearchTargets].Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries),
                Keywords     = value?.Split(new[] { '+' }, StringSplitOptions.RemoveEmptyEntries) ?? Array.Empty <string>(),
            };

            return(keywordCondition);
        }
Exemple #8
0
        public string GetContent(string uri, string templateUri = "")
        {
            Schema schema = new Schema();

            schema.Title = Randomizer.AnyString(10);

            Component component = new Component();

            component.Title  = Randomizer.AnyString(30);
            component.Id     = Randomizer.AnyUri(16);
            component.Schema = schema;

            Field field1 = Randomizer.AnyTextField(6, 120, true);
            Field field2 = Randomizer.AnyTextField(8, 40, false);

            FieldSet fieldSet = new FieldSet();

            fieldSet.Add(field1.Name, field1);
            fieldSet.Add(field2.Name, field2);
            component.Fields = fieldSet;
            if (uri == "component")
            {
                return(SerializerService.Serialize <Component>(component));
            }

            ComponentTemplate ct = new ComponentTemplate();

            ct.Title = Randomizer.AnyString(20);
            Field fieldView = new Field();

            fieldView.Name = "view";
            fieldView.Values.Add("DefaultComponentView");
            ct.MetadataFields = new FieldSet();
            ct.MetadataFields.Add(fieldView.Name, fieldView);

            ComponentPresentation cp = new ComponentPresentation();

            cp.Component         = component;
            cp.ComponentTemplate = ct;

            Condition condition = new KeywordCondition()
            {
                Keyword = new Keyword()
                {
                    Id = "tcm:2-123-1024", Key = "test", Title = "Test"
                }, Operator = NumericalConditionOperator.Equals, Value = 1
            };

            cp.Conditions = new List <Condition>()
            {
                condition
            };

            return(SerializerService.Serialize <ComponentPresentation>(cp));
        }
        private static KeywordCondition MapTrackingKeyCondition(TrackingKeyCondition trackingKeyCondition, BuildManager buildManager)
        {
            var newCondition = new KeywordCondition
            {
                Keyword  = KeywordBuilder.BuildKeyword(trackingKeyCondition.Keyword, buildManager),
                Operator = (NumericalConditionOperator)trackingKeyCondition.Operator,
                Negate   = true,
                Value    = trackingKeyCondition.Value
            };

            return(newCondition);
        }
        public static KeywordReference FromJson(JToken jToken)
        {
            //IL_0001: Unknown result type (might be due to invalid IL or missing references)
            //IL_0007: Invalid comparison between Unknown and I4
            //IL_0017: Unknown result type (might be due to invalid IL or missing references)
            //IL_001d: Expected O, but got Unknown
            if ((int)jToken.get_Type() == 8)
            {
                return(new KeywordReference(Extensions.Value <string>((IEnumerable <JToken>)jToken)));
            }
            JObject          val = jToken;
            KeywordCondition keywordCondition = (KeywordCondition)Serialization.JsonTokenValue <int>(val, "condition", 0);
            string           text             = Serialization.JsonTokenValue <string>(val, "keyword", (string)null);

            if (text != null)
            {
                return(new KeywordReference(text, keywordCondition));
            }
            ObjectReference.Type type = (ObjectReference.Type)Serialization.JsonTokenValue <int>(val, "type", 0);
            int num = Serialization.JsonTokenValue <int>(val, "id", 0);

            return(new KeywordReference(type, num, keywordCondition));
        }
        protected virtual IQueryable <TResult> ApplyKeywordsCondition(IQueryable <TResult> queryable, KeywordCondition condition)
        {
            if (condition == null ||
                condition.TargetFields == null ||
                condition.Keywords == null ||
                !condition.TargetFields.Any() ||
                !condition.Keywords.Any())
            {
                return(queryable);
            }

            var keywordsPred = PredicateBuilder.False <TResult>();

            foreach (var targetField in condition.TargetFields)
            {
                var fieldContainsKeywords = condition.Keywords.Aggregate(
                    PredicateBuilder.True <TResult>(),
                    (pred, keyword) => pred.And(item => item[targetField].Contains(keyword)));

                keywordsPred = keywordsPred.Or(fieldContainsKeywords);
            }

            return(queryable.Where(keywordsPred));
        }
 private static KeywordCondition MapTrackingKeyCondition(TrackingKeyCondition trackingKeyCondition)
 {
     var newCondition = new KeywordCondition
                            {
                                Keyword = KeywordBuilder.BuildKeyword(trackingKeyCondition.Keyword),
                                Operator = (NumericalConditionOperator)trackingKeyCondition.Operator,
                                Negate = true,
                                Value = trackingKeyCondition.Value
                            };
     return newCondition;
 }
Exemple #13
0
 public static bool IsValidFor(this KeywordCondition c, KeywordContext context)
 {
     return(((int)context & (int)c) == (int)c);
 }