Exemple #1
0
        /// <summary>
        /// Gets the type of the data.
        /// </summary>
        /// <returns>The data type.</returns>
        /// <param name="type">Type.</param>
        static string GetDataType(TabModel.DataType type)
        {
            string dataType = type switch
            {
                TabModel.DataType.Decimal => type.ToString(),
                TabModel.DataType.Int64 => type.ToString(),
                TabModel.DataType.Double => type.ToString(),
                TabModel.DataType.DateTime => type.ToString(),
                TabModel.DataType.Boolean => type.ToString(),
                TabModel.DataType.String => type.ToString(),

                _ => throw new ArgumentException(string.Format("Invalid argument. Type {0} isn't support by the PowerBI WebApi", type.ToString())),
            };

            return(dataType);
        }
        public static OleDbType ToOleDbType(TOM.DataType TOMDataType)
        {
            try
            {
                switch (TOMDataType)
                {
                case TOM.DataType.Automatic:
                case TOM.DataType.String:
                    return(OleDbType.WChar);

                case TOM.DataType.Binary:
                    return(OleDbType.Binary);

                case TOM.DataType.Boolean:
                    return(OleDbType.Boolean);

                case TOM.DataType.DateTime:
                    return(OleDbType.Date);

                case TOM.DataType.Decimal:
                    return(OleDbType.Decimal);

                case TOM.DataType.Double:
                    return(OleDbType.Double);

                case TOM.DataType.Int64:
                    return(OleDbType.BigInt);

                case TOM.DataType.Variant:
                    return(OleDbType.Variant);

                case TOM.DataType.Unknown:
                    return(OleDbType.Empty);

                default:
                    throw new Exception("The following type is unhandled: " + TOMDataType.ToString());
                }
            }
            catch (Exception e)
            {
                throw new Exception("Error mapping TOM DataType: " + e.Message);
            }
        }