internal override ExValue Evaluate <TKey>(TagBatchInstance <TKey> instance) { ExValue left = LeftHand.Evaluate(instance); ExValue right = RightHand.Evaluate(instance); switch (Token.TokenType) { case TagTokenType.IsEqual: return(new ExValue(left.Equals(right))); case TagTokenType.IsNot: return(new ExValue(!left.Equals(right))); case TagTokenType.IsLte: return(new ExValue(left.CompareTo(right) <= 0)); case TagTokenType.IsLessThan: return(new ExValue(left.CompareTo(right) < 0)); case TagTokenType.IsGreaterThan: return(new ExValue(left.CompareTo(right) > 0)); case TagTokenType.IsGte: return(new ExValue(left.CompareTo(right) >= 0)); default: throw new InvalidOperationException(); } }
public override void ApplyTo(List <ITagItem> tagItems, TagBatchInstance instance) { StringBuilder sb = new StringBuilder(); foreach (ValueItem vi in _items) { vi.ApplyTo(sb, instance); } tagItems.Add(new StubItem(sb.ToString())); }
protected virtual string ApplyItems(TagBatchInstance instance) { StringBuilder sb = new StringBuilder(); foreach (ValueItem vi in _items) { vi.ApplyTo(sb, instance); } return(sb.ToString()); }
internal override ExValue Evaluate <TKey>(TagBatchInstance <TKey> instance) { StringBuilder sb = new StringBuilder(); foreach (ValueItem vi in _parts) { vi.ApplyTo(sb, instance); } return(new ExValue(sb.ToString())); }
internal override ExValue Evaluate <TKey>(TagBatchInstance <TKey> instance) { ExValue leftValue = LeftHand.Evaluate(instance); bool leftResult = leftValue.ToBool(); if (IsAnd != leftResult) { // ((IsAnd && !leftResult) || (IsOr && leftResult)) return(leftValue); } return(RightHand.Evaluate(instance)); }
public override void ApplyTo(List <ITagItem> tagItems, TagBatchInstance instance) { TagItemCollection items = instance.GetItems(_item.Item); foreach (TagItem ti in items) { if (string.IsNullOrEmpty(_item.Key)) { tagItems.Add(ti); } else { throw new NotImplementedException(); } } }
public abstract void ApplyTo(List <ITagItem> tagItems, TagBatchInstance instance);
public override void ApplyTo(List <ITagItem> tagItems, TagBatchInstance instance) { tagItems.Add(new StubItem(_value)); }
internal override object GetValue <TKey>(TagBatchDefinition <TKey> definition, TagBatchInstance <TKey> instance) { string s = base.ApplyItems(instance); //throw new NotImplementedException(); return(CreateValue(s)); }
/// <summary> /// Converts the item to a string for the specified instance /// </summary> /// <param name="instance">The instance.</param> /// <returns></returns> public abstract string ToString(TagBatchInstance instance);
internal override ExValue Evaluate <TKey>(TagBatchInstance <TKey> instance) { return(InnerExpression.Evaluate(instance)); }
internal override object GetValue <TKey>(TagBatchDefinition <TKey> definition, TagBatchInstance <TKey> instance) { return(EvaluateCondition(instance)); }
internal bool EvaluateCondition <TKey>(TagBatchInstance <TKey> instance) where TKey : class { return(_expression.Evaluate(instance).ToBool()); }
internal override void ApplyTo(StringBuilder to, TagBatchInstance items) { to.Append(_value); }
public override string ToString(TagBatchInstance instance) { TagPropertyCollection tpc = instance.Context.Properties; return(tpc.Contains(PropertyName) ? tpc[PropertyName].ExpandedValue() : ""); }
/// <summary> /// Converts the item to a string for the specified instance /// </summary> /// <param name="instance">The instance.</param> /// <returns></returns> public override string ToString(TagBatchInstance instance) { return(_value); }
/// <summary> /// Applies the ValueItem to the specified StringBuilder /// </summary> /// <param name="to">To.</param> /// <param name="instance">The instance.</param> internal virtual void ApplyTo(StringBuilder to, TagBatchInstance instance) { to.Append(ToString(instance)); }
public override string ToString(TagBatchInstance instance) { return(instance.GetItemValue(Item, Key, Separator ?? ";")); }
internal override ExValue Evaluate <TKey>(TagBatchInstance <TKey> instance) { return(new ExValue(!InnerExpression.Evaluate(instance).ToBool())); }
internal override object GetValue <TKey>(TagBatchDefinition <TKey> definition, TagBatchInstance <TKey> instance) { List <ITagItem> items = new List <ITagItem>(); foreach (ValuePart vp in _parts) { vp.ApplyTo(items, instance); } return(CreateValue(items)); }
internal override ExValue Evaluate <TKey>(TagBatchInstance <TKey> instance) { return(new ExValue(_value)); }
internal abstract object GetValue <TKey>(TagBatchDefinition <TKey> definition, TagBatchInstance <TKey> instance) where TKey : class;
internal override ExValue Evaluate <TKey>(TagBatchInstance <TKey> instance) { throw new NotImplementedException(); }
public override string ToString(TagBatchInstance instance) { return(instance.GetKeyValue(_item, _key)); }