public IDatabaseCollector Create(EDatabaseType type) { IDatabaseCollector collector = null; try { switch (type) { case EDatabaseType.Oracle: collector = new OracleCollector(); break; case EDatabaseType.SqlServer: collector = new SqlServerCollector(); break; case EDatabaseType.Postgres: collector = new PostgresCollector(); break; case EDatabaseType.Unknown: default: throw new Exception($"Unknown database type {type}"); } } catch (Exception ex) { ApplicationEventLog log = new ApplicationEventLog(); log.LogError("Error in DatabaseCollectorFactory connection"); log.Log(ex); } return(collector); }
protected Tuple <Dictionary <string, ulong>, bool> QueryDatabase() { GetDBInfo(); Tuple <Dictionary <string, ulong>, bool> data = Tuple.Create(new Dictionary <string, ulong>(), true); IDatabaseCollector collector = Factory.Create(DBType); if (collector != null) { data = collector.GetData(ConnectionString); } return(data); }