protected virtual DatabaseValidationResult DoDatabaseValidation(DbSource dbSourceDetails) { var result = new DatabaseValidationResult(); switch (dbSourceDetails.ServerType) { case enSourceType.SqlDatabase: var broker = CreateDatabaseBroker(dbSourceDetails.ServerType); result.DatabaseList = broker.GetDatabases(dbSourceDetails); break; case enSourceType.MySqlDatabase: var mybroker = CreateMySqlDatabaseBroker(dbSourceDetails.ServerType); result.DatabaseList = mybroker.GetDatabases(dbSourceDetails); break; default: result.IsValid = false; break; } return result; }
// POST: Service/DbSources/Test public DatabaseValidationResult Test(string args, Guid workspaceId, Guid dataListId) { var result = new DatabaseValidationResult { IsValid = false, ErrorMessage = "Unknown connection type." }; try { var dbSourceDetails = JsonConvert.DeserializeObject<DbSource>(args); switch (dbSourceDetails.ResourceType) { case ResourceType.DbSource: result.ErrorMessage = null; result = DoDatabaseValidation(dbSourceDetails); break; } } catch (Exception ex) { RaiseError(ex); result.ErrorMessage = ex.Message; } return result; }