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()); } }
private void buttonOk_Click(object sender, EventArgs e) { if (checkBoxExisting.Checked && comboBoxCSharpTypes.SelectedItem == null) { MessageBox.Show(this, "Please select a .Net type.", "Missing value", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (checkBoxNew.Checked && (string.IsNullOrWhiteSpace(textBoxDotNetType.Text) || string.IsNullOrWhiteSpace(textBoxCSharpType.Text))) { MessageBox.Show(this, "You need to enter .Net and C# types.", "Missing values", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DotNetType dotnetType = null; if (checkBoxExisting.Checked) { dotnetType = Utility.DotNetTypes.SingleOrDefault(testc => testc.Name == comboBoxCSharpTypes.Text); } else { Utility.DotNetTypes.SingleOrDefault(t => t.Name.ToLowerInvariant() == textBoxDotNetType.Text.Trim().ToLowerInvariant()); if (dotnetType == null) { dotnetType = new DotNetType() { Name = textBoxDotNetType.Text.Trim(), CSharpName = textBoxCSharpType.Text.Trim() }; ArchAngel.Interfaces.ProjectOptions.TypeMappings.Utility.DotNetTypes.Add(dotnetType); } } List <DatabaseTypeMap> maps; switch (Database) { case Utility.DatabaseTypes.Firebird: maps = Utility.FirebirdTypes; break; case Utility.DatabaseTypes.MySql: maps = Utility.MySqlTypes; break; case Utility.DatabaseTypes.Oracle: maps = Utility.OracleTypes; break; case Utility.DatabaseTypes.PostgreSql: maps = Utility.PostgreSqlTypes; break; case Utility.DatabaseTypes.SqlServer: maps = Utility.SqlServerTypes; break; case Utility.DatabaseTypes.SQLite: maps = Utility.SQLiteTypes; break; default: throw new NotImplementedException("Database type not handled yet: " + Database.ToString()); } DatabaseTypeMap newDBType = new DatabaseTypeMap("", null); newDBType.TypeName = labelDatabaseType.Text; newDBType.DotNetType = dotnetType; maps.Add(newDBType); DotNetType = dotnetType; Utility.SaveSettings(); Close(); }