protected override string GetStringExpression()
{
var sb = new StringBuilder();
if (_isNegative)
sb.Append("-(");
if (_isNot)
sb.Append("NOT (");
var operandsEnumerator = _operands.GetEnumerator();
if (!operandsEnumerator.MoveNext())
throw new InvalidOperationException("Expression must have at least one operand!");
if (operandsEnumerator.Current is MdxExpression)
sb.Append(string.Format("({0})", operandsEnumerator.Current));
else
sb.Append(operandsEnumerator.Current);
foreach (var op in _operators)
{
sb.Append(" ");
sb.Append(op);
sb.Append(" ");
if (!operandsEnumerator.MoveNext())
throw new InvalidOperationException("Expression expects more operands that specified!");
if (operandsEnumerator.Current is MdxExpression)
sb.Append(string.Format("({0})", operandsEnumerator.Current));
else
sb.Append(operandsEnumerator.Current);
}
if (_isNegative)
sb.Append(")");
if (_isNot)
sb.Append(")");
return sb.ToString();
}