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