RepositorieFactory.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using Quartz.Impl.AdoJobStore;
  2. using Quartz.Impl.AdoJobStore.Common;
  3. namespace Host.Repositories
  4. {
  5. public class RepositorieFactory
  6. {
  7. public static IRepositorie CreateRepositorie(string driverDelegateType, IDbProvider dbProvider)
  8. {
  9. if (driverDelegateType == typeof(SQLiteDelegate).AssemblyQualifiedName)
  10. {
  11. return new RepositorieSQLite(dbProvider);
  12. }
  13. else if (driverDelegateType == typeof(MySQLDelegate).AssemblyQualifiedName)
  14. {
  15. return new RepositorieMySql(dbProvider);
  16. }
  17. else if (driverDelegateType == typeof(PostgreSQLDelegate).AssemblyQualifiedName)
  18. {
  19. return new RepositoriePostgreSQL(dbProvider);
  20. }
  21. else if (driverDelegateType == typeof(OracleDelegate).AssemblyQualifiedName)
  22. {
  23. return new RepositorieOracle(dbProvider);
  24. }
  25. else if (driverDelegateType == typeof(SqlServerDelegate).AssemblyQualifiedName)
  26. {
  27. return new RepositorieSqlServer(dbProvider);
  28. }
  29. else
  30. {
  31. return null;
  32. }
  33. }
  34. }
  35. }