Пример #1
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);
                }
            }
        }