internal static string DbTypeToTypeName(SQLiteConnection connection, DbType dbType, SQLiteConnectionFlags flags) { SQLiteDbTypeMapping sQLiteDbTypeMapping; SQLiteDbTypeMapping sQLiteDbTypeMapping1; string str; string defaultTypeName = null; if (connection != null) { flags |= connection.Flags; if ((flags & SQLiteConnectionFlags.UseConnectionTypes) == SQLiteConnectionFlags.UseConnectionTypes) { SQLiteDbTypeMap sQLiteDbTypeMap = connection._typeNames; if (sQLiteDbTypeMap != null && sQLiteDbTypeMap.TryGetValue(dbType, out sQLiteDbTypeMapping)) { return(sQLiteDbTypeMapping.typeName); } } defaultTypeName = connection.DefaultTypeName; } if ((flags & SQLiteConnectionFlags.NoGlobalTypes) == SQLiteConnectionFlags.NoGlobalTypes) { if (defaultTypeName != null) { return(defaultTypeName); } defaultTypeName = SQLiteConvert.GetDefaultTypeName(connection); SQLiteConvert.DefaultTypeNameWarning(dbType, flags, defaultTypeName); return(defaultTypeName); } lock (SQLiteConvert._syncRoot) { if (SQLiteConvert._typeNames == null) { SQLiteConvert._typeNames = SQLiteConvert.GetSQLiteDbTypeMap(); } if (!SQLiteConvert._typeNames.TryGetValue(dbType, out sQLiteDbTypeMapping1)) { if (defaultTypeName != null) { return(defaultTypeName); } defaultTypeName = SQLiteConvert.GetDefaultTypeName(connection); SQLiteConvert.DefaultTypeNameWarning(dbType, flags, defaultTypeName); return(defaultTypeName); } else { str = sQLiteDbTypeMapping1.typeName; } } return(str); }
internal static DbType TypeNameToDbType(SQLiteConnection connection, string typeName, SQLiteConnectionFlags flags) { SQLiteDbTypeMapping sQLiteDbTypeMapping; SQLiteDbTypeMapping sQLiteDbTypeMapping1; DbType dbType; DbType?defaultDbType = null; if (connection != null) { flags |= connection.Flags; if ((flags & SQLiteConnectionFlags.UseConnectionTypes) == SQLiteConnectionFlags.UseConnectionTypes) { SQLiteDbTypeMap sQLiteDbTypeMap = connection._typeNames; if (sQLiteDbTypeMap != null && typeName != null) { if (sQLiteDbTypeMap.TryGetValue(typeName, out sQLiteDbTypeMapping)) { return(sQLiteDbTypeMapping.dataType); } int num = typeName.IndexOf('('); if (num > 0 && sQLiteDbTypeMap.TryGetValue(typeName.Substring(0, num).TrimEnd(new char[0]), out sQLiteDbTypeMapping)) { return(sQLiteDbTypeMapping.dataType); } } } defaultDbType = connection.DefaultDbType; } if ((flags & SQLiteConnectionFlags.NoGlobalTypes) == SQLiteConnectionFlags.NoGlobalTypes) { if (defaultDbType.HasValue) { return(defaultDbType.Value); } defaultDbType = new DbType?(SQLiteConvert.GetDefaultDbType(connection)); SQLiteConvert.DefaultDbTypeWarning(typeName, flags, defaultDbType); return(defaultDbType.Value); } lock (SQLiteConvert._syncRoot) { if (SQLiteConvert._typeNames == null) { SQLiteConvert._typeNames = SQLiteConvert.GetSQLiteDbTypeMap(); } if (typeName != null) { if (!SQLiteConvert._typeNames.TryGetValue(typeName, out sQLiteDbTypeMapping1)) { int num1 = typeName.IndexOf('('); if (num1 > 0 && SQLiteConvert._typeNames.TryGetValue(typeName.Substring(0, num1).TrimEnd(new char[0]), out sQLiteDbTypeMapping1)) { dbType = sQLiteDbTypeMapping1.dataType; return(dbType); } } else { dbType = sQLiteDbTypeMapping1.dataType; return(dbType); } } if (defaultDbType.HasValue) { return(defaultDbType.Value); } defaultDbType = new DbType?(SQLiteConvert.GetDefaultDbType(connection)); SQLiteConvert.DefaultDbTypeWarning(typeName, flags, defaultDbType); return(defaultDbType.Value); } return(dbType); }