private void ExecuteExpressionCommand() { SQLExpression expression; bool editExpression = InSQLExpression(out expression); string expressionText = editExpression ? '=' + expression.ExpressionText : String.Empty; IExpression modifiedValue; if (designerContext.EditExpression(expressionText, out modifiedValue)) { string wrappedExpression = string.Empty; if (!modifiedValue.IsEmpty) { wrappedExpression = SqlStringHandler.CreateSqlExpression(modifiedValue.GetExpression()); } if (editExpression) { Regex replaceRegex = new Regex(SqlStringHandler.expressionPattern); SQL = replaceRegex.Replace(SQL, wrappedExpression, 1, expression.StartIndex); } else { SQL = SQL.Insert(SQLIndex, wrappedExpression); } } }
private void ExecuteExpressionCommand() { LinxExpression expression; bool editExpression = InLinxExpression(out expression); string expressionText = (editExpression) ? "=" + expression.ExpressionText : string.Empty; IExpression modifiedValue; if (designerContext.EditExpression(expressionText, out modifiedValue)) { string wrappedExpression = string.Empty; if (!modifiedValue.IsEmpty) { wrappedExpression = SqlStringHandler.CreateSqlExpression(modifiedValue.GetExpression()); } if (editExpression) { SegmentedDocument.Replace(expression.StartIndex, expression.EndIndex - expression.StartIndex + 1, wrappedExpression); } else { SegmentedDocument.Replace(CaretIndex, 0, wrappedExpression); } } }