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())); }
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()); } }