Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }