Exemple #1
0
        public FormCustomType(string databaseTypeName, Utility.DatabaseTypes database)
        {
            InitializeComponent();

            Database = database;
            labelDatabaseType.Text = databaseTypeName;
            labelQuestion.Text     = string.Format(@"What .Net type do you want to map <b>{0}</b> to?", databaseTypeName);
            //comboBoxCSharpTypes.DisplayMember = "Name";
            //comboBoxCSharpTypes.DataSource = Utility.DotNetTypes.OrderBy(t => t.Name).ToList();

            comboBoxCSharpTypes.Items.AddRange(Utility.DotNetTypes.OrderBy(t => t.Name).Select(t => t.Name).ToArray());

            //foreach (DotNetType dotnetType in Utility.DotNetTypes.OrderBy(t => t.Name))
            //    comboBoxCSharpTypes.Items.Add(dotnetType);
        }
        private static DotNetType GetDotNetTypeinternalFromDatabaseType(List <DatabaseTypeMap> maps, string typeName, Utility.DatabaseTypes databaseType)
        {
            DatabaseTypeMap map = maps.SingleOrDefault(m => m.TypeName.ToLowerInvariant() == typeName.ToLowerInvariant());

            if (map != null)
            {
                return(map.DotNetType);
            }

            FormCustomType form = new FormCustomType(typeName, databaseType);

            form.ShowDialog();
            return(form.DotNetType);
        }
        public static string GetDefaultDatabaseType(this List <DatabaseTypeMap> maps, Utility.DatabaseTypes dbType, string dotnetTypeName)
        {
            DotNetType dotNetType = GetDotNetTypeinternalFromDotNetType(maps, dotnetTypeName, dbType);

            if (dotNetType == null)
            {
                return(null);
            }

            switch (dbType)
            {
            case Utility.DatabaseTypes.Firebird: return(dotNetType.FirebirdName);

            case Utility.DatabaseTypes.MySql: return(dotNetType.MySqlName);

            case Utility.DatabaseTypes.Oracle: return(dotNetType.OracleName);

            case Utility.DatabaseTypes.PostgreSql: return(dotNetType.PostgreSqlName);

            case Utility.DatabaseTypes.SqlServer: return(dotNetType.SqlServerName);

            default: throw new NotImplementedException("Database type not handled yet: " + dbType.ToString());
            }
        }
        public static string GetVbType(this List <DatabaseTypeMap> maps, string typeName, Utility.DatabaseTypes databaseType)
        {
            DotNetType t = GetDotNetTypeinternalFromDatabaseType(maps, typeName, databaseType);

            return(t == null ? null : t.VbName);
        }