Пример #1
0
        static public Value Convert(SXLexemValue value, Value.ValueType type)
        {
            if (value == null)
            {
                throw new ArgumentException("Can't convert null LexemValue to Value");
            }

            switch (type)
            {
            case Value.ValueType.Date:
            {
                if (value.Type == SXLexemValue.ValueType.Date)
                {
                    return((value as SXLexemDate).Value);
                }
                if (value.Type == SXLexemValue.ValueType.Text)
                {
                    return(SXLexemDate.ParseDatetime((value as SXLexemText).Value));
                }
                break;
            }

            case Value.ValueType.Number:
            {
                if (value.Type == SXLexemValue.ValueType.Number)
                {
                    return((value as SXLexemNumber).Value);
                }
                if (value.Type == SXLexemValue.ValueType.Text)
                {
                    return(SXLexemNumber.ParseDouble((value as SXLexemText).Value, true));
                }
                break;
            }

            default:
            {
                if (value.Type == SXLexemValue.ValueType.Text)
                {
                    return((value as SXLexemText).Value);
                }
                if (value.Type == SXLexemValue.ValueType.Number)
                {
                    return((value as SXLexemNumber).Value.ToString());
                }
                if (value.Type == SXLexemValue.ValueType.Date)
                {
                    return((value as SXLexemDate).Value.ToString());
                }
                break;
            }
            }

            throw new ReportGrabberException(String.Format("LexemValue {0} not recognized as Value", value.ToString()));
        }
Пример #2
0
        static public Value Convert(Value value, Value.ValueType type)
        {
            if (value == null)
            {
                return(null);
            }

            if (value.Type == type)
            {
                return(value);
            }

            switch (type)
            {
            case Value.ValueType.Number:
                return(SXLexemNumber.ParseDouble(value.ToString(), true));

            case Value.ValueType.Date:
                return(SXLexemDate.ParseDatetime(value.ToString()));

            default:
                return(value.ToString());
            }
        }