public static ISet <string> GetDatabases(DALInputParams inputParams) { DALInputParams.ThrowIfWrong(inputParams, false); inputParams.ConnectTimeout = CONNECT_TIMEOUT_3; using (var con = new SqlConnection(inputParams.ConnectionString)) using (var cmd = con.CreateCommand()) { cmd.CommandType = CommandType.Text; cmd.CommandTimeout = COMMAND_TIMEOUT_5; cmd.CommandText = SQL_GET_DATABASES; con.Open(); var databases = new SortedSet <string>(StringComparer.Ordinal); using (var rd = cmd.ExecuteReader()) { for (var idx = rd.GetOrdinal("DatabaseName"); rd.Read();) { databases.Add(rd.GetString(idx)); } } return(databases); } }
public DatabaseCollection GetDatabases([FromUri] DALInputParams inputParams) { try { DALInputParams.ThrowIfWrong(inputParams); #if USE_CACHE return(HttpContext.Current.Cache.Get(inputParams.ConnectionString + "-databases" , () => new DatabaseCollection(DAL.GetDatabases(inputParams)))); #else return(new DatabaseCollection(DAL.GetDatabases(inputParams))); #endif } catch (Exception ex) { return(new DatabaseCollection(ex)); } }