public override void Execute(RenderingContext context) { var temp = context.EvaluateObject(key); if (temp != null) { decimal num; if (decimal.TryParse(temp.ToString(), out num)) { string key = null; foreach (var entry in dictionary) { if (num >= entry.Value || num <= -entry.Value) { key = entry.Key; } } if (key != null) { num /= dictionary[key]; num = num.TruncateEx(2); context.output.Append(num.ToString()); context.output.Append(key); } else { context.output.Append(num.ToString()); } } } }
public override void Execute(RenderingContext context) { if (this.trueNode == null) { throw new Exception("Missing true branch in If node"); } var result = context.EvaluateObject(condition); var isFalse = result == null || result.Equals(false) || ((result is string) && ((string)result).Length == 0); if (!isFalse && result is IEnumerable) { isFalse = !((IEnumerable)result).Any(); } if (isFalse) { if (falseNode != null) { falseNode.Execute(context); } return; } trueNode.Execute(context); }
public override void Execute(RenderingContext context) { var temp = context.EvaluateObject(key); if (temp != null) { var value = temp.ToString(); string result; switch (kind) { case CaseKind.Lower: result = value.ToLowerInvariant(); break; case CaseKind.Upper: result = value.ToUpperInvariant(); break; case CaseKind.Pascal: result = TitleCase(value); break; case CaseKind.Camel: result = CamelCase(value); break; case CaseKind.Snake: result = string.Concat(value.Select((x, i) => i > 0 && char.IsUpper(x) ? "_" + x.ToString() : x.ToString())); break; case CaseKind.Kebab: result = value.Replace(' ', '-').ToLowerInvariant(); break; default: result = value; break; } context.output.Append(result); } }
public override void Execute(RenderingContext context) { var temp = context.EvaluateObject(key); if (temp != null) { DateTime value; if (temp is DateTime) { value = (DateTime)temp; } else if (temp is uint) { value = ToDateTime((uint)temp); } else { throw new Exception("Invalid date for key: " + key); } var result = monthNames[value.Month] + value.ToString(format, CultureInfo.InvariantCulture); context.output.Append(result); } }
public override void Execute(RenderingContext context) { if (inner == null) { throw new Exception("Missing inner branch in Each node"); } var obj = context.EvaluateObject(key); if (obj == null) { return; } var objType = obj.GetType(); if (objType == typeof(int) || objType == typeof(uint) || objType == typeof(long) || objType == typeof(ulong) || objType == typeof(short) || objType == typeof(ushort)) { var n = Convert.ToInt32(obj); obj = Enumerable.Range(1, n).ToArray(); } var list = obj as IEnumerable; if (list != null) { context.operation = RenderingOperation.None; int index = 0; int last = list.Count() - 1; foreach (var item in list) { context.Set("index", index); context.Set("first", index == 0); context.Set("last", index == last); context.DataStack.Add(item); inner.Execute(context); context.DataStack.RemoveAt(context.DataStack.Count - 1); if (context.operation == RenderingOperation.Break) { context.operation = RenderingOperation.None; break; } index++; } } else { context.DataStack.Add(obj); context.Set("index", 0); context.Set("first", true); context.Set("last", true); inner.Execute(context); context.DataStack.RemoveAt(context.DataStack.Count - 1); } }
public override void Execute(RenderingContext context) { var obj = context.EvaluateObject(key); var pointer = context.DataStack[context.DataStack.Count - 1]; if (obj == null && context != pointer) { obj = context.EvaluateObject(key); } if (obj != null) { string temp; if (obj is decimal) { temp = ((decimal)obj).ToString(System.Globalization.CultureInfo.InvariantCulture); } else if (obj is float) { temp = ((float)obj).ToString(".################", System.Globalization.CultureInfo.InvariantCulture); } else if (obj is double) { temp = ((double)obj).ToString(".################", System.Globalization.CultureInfo.InvariantCulture); } else { temp = obj.ToString(); } if (escape) { temp = SecurityElement.Escape(temp); } context.output.Append(temp); } }
public override void Execute(RenderingContext context) { var temp = context.EvaluateObject(key); if (temp != null) { DateTime value = (DateTime)temp; var result = monthNames[value.Month] + value.ToString(format, CultureInfo.InvariantCulture); context.output.Append(result); } }
public override void Execute(RenderingContext context) { if (inner == null) { throw new Exception("Missing inner branch in Each node"); } var obj = context.EvaluateObject(key); if (obj == null) { return; } var list = obj as IEnumerable; if (list != null) { context.operation = RenderingOperation.None; int index = 0; int last = list.Count() - 1; foreach (var item in list) { context.Set("index", index); context.Set("first", index == 0); context.Set("last", index == last); context.DataStack.Add(item); inner.Execute(context); context.DataStack.RemoveAt(context.DataStack.Count - 1); if (context.operation == RenderingOperation.Break) { context.operation = RenderingOperation.None; break; } index++; } } else { context.DataStack.Add(obj); context.Set("index", 0); context.Set("first", true); context.Set("last", true); inner.Execute(context); context.DataStack.RemoveAt(context.DataStack.Count - 1); } }
public override void Execute(RenderingContext context) { //var obj = TemplateEngine.EvaluateObject(context, context, "current_time"); //DateTime cur_time = (obj != null) ? (DateTime)obj : DateTime.Now; DateTime cur_time = DateTime.Now; var temp = context.EvaluateObject(key); if (temp != null) { DateTime time = (DateTime)temp; var diff = cur_time - time; var result = FormatTimeSpan(diff, context); context.output.Append(result); } }
public override void Execute(RenderingContext context) { var obj = context.EvaluateObject(key); if (obj == null) { context.output.Append('0'); return; } var list = obj as IEnumerable; if (list != null) { context.operation = RenderingOperation.None; var total = list.Count(); context.output.Append(total.ToString()); } else { context.output.Append('1'); } }