Ejemplo n.º 1
0
        static void SbdfAddValue(
            SbdfTableWriter bw,
            SbdfValueType type,
            object vo)
        {
            if (vo == null)
            {
                bw.AddValue(type.InvalidValue);                         // correct way to write null
            }
            else
            {
                switch (type.TypeId)
                {
                case SbdfValueTypeId.BoolType: bw.AddValue((bool)vo); break;

                case SbdfValueTypeId.IntType: bw.AddValue((int)vo); break;

                case SbdfValueTypeId.LongType: bw.AddValue((long)vo); break;

                case SbdfValueTypeId.FloatType: bw.AddValue((float)vo); break;

                case SbdfValueTypeId.DoubleType: bw.AddValue((double)vo); break;

                case SbdfValueTypeId.DateTimeType: bw.AddValue((DateTime)vo); break;

                case SbdfValueTypeId.DateType: bw.AddValue((DateTime)vo); break;

                case SbdfValueTypeId.StringType: bw.AddValue((String)vo); break;

                case SbdfValueTypeId.DecimalType: bw.AddValue((Decimal)vo); break;

                case SbdfValueTypeId.UnknownType:
                case SbdfValueTypeId.TimeType:
                case SbdfValueTypeId.TimeSpanType:
                case SbdfValueTypeId.BinaryType:
                default:
                    bw.AddValue(type.InvalidValue);
                    break;
                }
            }

            return;
        }
Ejemplo n.º 2
0
        /// <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;
        }