/// <summary> /// Write value, efficiently casting to proper type as required by WriteValue /// </summary> /// <param name="tw"></param> /// <param name="vo"></param> /// <param name="typeId"></param> void StdfWriteValue( StdfTableWriter tw, StdfValueType type, object vo) { if (vo == null) { tw.WriteValue(null); StdfValueString += "null, "; } else { switch (type.TypeId) { case StdfValueTypeId.BoolType: tw.WriteValue((bool)vo); break; case StdfValueTypeId.IntType: tw.WriteValue((int)vo); break; case StdfValueTypeId.LongType: tw.WriteValue((long)vo); break; case StdfValueTypeId.FloatType: tw.WriteValue((float)vo); break; case StdfValueTypeId.DoubleType: tw.WriteValue((double)vo); break; case StdfValueTypeId.DateTimeType: tw.WriteValue((DateTime)vo); break; case StdfValueTypeId.DateType: tw.WriteValue((DateTime)vo); break; case StdfValueTypeId.StringType: tw.WriteValue((String)vo); break; case StdfValueTypeId.DecimalType: tw.WriteValue((Decimal)vo); break; case StdfValueTypeId.UnknownType: case StdfValueTypeId.TimeType: case StdfValueTypeId.TimeSpanType: case StdfValueTypeId.BinaryType: default: tw.WriteValue(null); break; } StdfValueString += vo.ToString() + "\r\n"; } StdfWriteValueCount++; return; }
/// <summary> /// Get the Spotfire data types corresponding to a Mobius data type for /// DataColumns and Text and Binary file readers/writers /// </summary> /// <param name="mc"></param> /// <param name="tt"></param> /// <param name="bt"></param> void GetSpotfireDataTypes( MetaColumn mc, out StdfValueType tt, out SbdfValueType bt) { //out Spotfire.Dxp.Data.DataType dt, // dt = null; tt = null; bt = null; switch (mc.DataType) { case MetaColumnType.CompoundId: if (mc.StorageType == MetaColumnStorageType.String) { //dt = DataType.String; tt = StdfValueType.String; bt = SbdfValueType.String; } else { //dt = DataType.Integer; tt = StdfValueType.Int; bt = SbdfValueType.Int; } break; case MetaColumnType.Structure: // pass structures and Smiles or Chime //dt = DataType.String; tt = StdfValueType.String; bt = SbdfValueType.String; break; case MetaColumnType.Integer: //dt = DataType.Integer; tt = StdfValueType.Int; bt = SbdfValueType.Int; break; case MetaColumnType.Number: //dt = DataType.Real; tt = StdfValueType.Double; bt = SbdfValueType.Double; break; case MetaColumnType.QualifiedNo: //dt = DataType.Real; tt = StdfValueType.Double; bt = SbdfValueType.Double; break; case MetaColumnType.Date: //dt = DataType.Date; tt = StdfValueType.Date; bt = SbdfValueType.Date; break; default: //dt = DataType.String; tt = StdfValueType.String; bt = SbdfValueType.String; break; } return; }