private IDatabase GetDatabase(IDatabaseConnector databaseConnector, out IDatabaseLoader databaseLoader, List <SchemaData> tablesToFetch)
        {
            databaseLoader = null;
            _progress.SetCurrentState("Loading Database From Connection String in NHibernate Config File", ProgressState.Normal);

            databaseLoader = DatabaseLoaderFacade.GetDatabaseLoader(databaseConnector);
            databaseLoader.DatabaseObjectsToFetch = tablesToFetch;

            IDatabase database = null;
            bool      success  = false;

            while (success == false)
            {
                try
                {
                    database = databaseLoader.LoadDatabase(databaseLoader.DatabaseObjectsToFetch, null);
                    new DatabaseProcessor().CreateRelationships(database);
                    success = true;
                }
                catch (DatabaseLoaderException e)
                {
                    var loader = _userInteractor.GetDatabaseLoader(databaseConnector);
                    if (loader == null)
                    {
                        throw new NHibernateConfigException("Could not load the database specified in your config file.", e);
                    }
                    databaseLoader = loader;
                    _progress.SetCurrentState("Loading Database From Connection Information Given", ProgressState.Normal);
                }
            }
            return(database);
        }
        public void Constructs_The_Corrent_ForeignKey_From_A_FK_To_Unique_Key()
        {
            var loader = DatabaseLoaderFacade.GetSQLCELoader("ForeignKeyToUniqueKey.sdf");
            var db     = loader.LoadDatabase();

            Generic_Loads_FK_Correctly_When_It_Refers_To_UniqueKey_In_DB(db);
        }
        public void Returns_Correct_Data()
        {
            var      loader = DatabaseLoaderFacade.GetSQLCELoader("1Table3Columns.sdf");
            Database db     = loader.LoadDatabase();

            Generic_Returns_Correct_Data(db, "1Table3Columns", loader);
        }
        public void Relationships_Hold_Mapped_Columns()
        {
            var      loader = DatabaseLoaderFacade.GetSQLCELoader("MultiColumnKeys.sdf");
            Database db     = loader.LoadDatabase();

            new DatabaseProcessor().CreateRelationships(db);
            Generic_Relationships_Hold_Mapped_Columns(db);
        }
        public void Multiple_Column_Indexes()
        {
            var      loader = DatabaseLoaderFacade.GetSQLCELoader("MultiColumnIndexes.sdf");
            Database db     = loader.LoadDatabase();

            new DatabaseProcessor().CreateRelationships(db);
            Generic_Multiple_Column_Indexes(db);
        }
        public void Constructs_The_Corrent_Relationshp_From_A_FK_To_Unique_Key()
        {
            var loader = DatabaseLoaderFacade.GetSQLCELoader("ForeignKeyToUniqueKey.sdf");
            var db     = loader.LoadDatabase();

            new DatabaseProcessor().CreateRelationships(db);
            Generic_Relationship_Created_From_FK_To_UniqueKey(db);
        }
        public void Constructs_The_Corrent_Many2One_Relationshps()
        {
            var      loader = DatabaseLoaderFacade.GetSQLCELoader("2Tables1Relationship.sdf");
            Database db     = loader.LoadDatabase();

            new DatabaseProcessor().CreateRelationships(db);
            Generic_Constructs_The_Corrent_Many2One_Relationshps(db);
        }
        public void The_DatabaseName_Is_Wired_Up_Correctly()
        {
            IDatabaseForm form = MockRepository.GenerateMock <IDatabaseForm>();
            Database      obj  = new Database("Database1");

            obj.Loader = DatabaseLoaderFacade.GetSQLCELoader("asdfsdf.sdf");
            IMainPanel panel = MockRepository.GenerateMock <IMainPanel>();

            var presenter = new DatabasePresenter(panel, form);

            presenter.AttachToModel(obj);

            form.AssertWasCalled(a => a.SelectedDatabaseType = DatabaseTypes.SQLCE);
            form.AssertWasCalled(a => a.SetDatabaseFilename("asdfsdf.sdf"));
            form.AssertWasCalled(a => a.DatabaseHelper = Arg <IServerAndDatabaseHelper> .Is.NotNull);
        }
Exemple #9
0
        public static IDatabaseLoader CreateDatabaseLoader(IDatabaseForm databaseForm)
        {
            IDatabaseLoader loader;

            switch (databaseForm.SelectedDatabaseType)
            {
            case DatabaseTypes.SQLCE:
                loader = DatabaseLoaderFacade.GetSQLCELoader(databaseForm.SelectedDatabase);
                break;

            case DatabaseTypes.SQLServer2005:
                loader = DatabaseLoaderFacade.GetSQLServer2005Loader(databaseForm.ConnectionStringHelper);
                break;

            case DatabaseTypes.SQLServerExpress:
                loader = DatabaseLoaderFacade.GetSqlServerExpressLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase);
                break;

            case DatabaseTypes.MySQL:
                loader = DatabaseLoaderFacade.GetMySQLLoader(databaseForm.ConnectionStringHelper);
                break;

            case DatabaseTypes.Oracle:
                loader = DatabaseLoaderFacade.GetOracleLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase);
                break;

            case DatabaseTypes.PostgreSQL:
                loader = DatabaseLoaderFacade.GetPostgreSQLLoader(databaseForm.ConnectionStringHelper, databaseForm.SelectedDatabase);
                break;

            case DatabaseTypes.Firebird:
                loader = DatabaseLoaderFacade.GetFirebirdLoader(databaseForm.ConnectionStringHelper);
                break;

            case DatabaseTypes.SQLite:
                loader = DatabaseLoaderFacade.GetSQLiteLoader(databaseForm.ConnectionStringHelper);
                break;

            default:
                throw new NotImplementedException(
                          string.Format("DatabasePresenter.CreateDatabaseLoader() does not support databases of type {0} yet",
                                        databaseForm.SelectedDatabaseType));
            }

            return(loader);
        }
        public void Index_With_None_Index_Type()
        {
            Database db = DatabaseLoaderFacade.LoadSQLCeDatabase("NoneIndexType.sdf");

            Generic_Index_With_None_Index_Type(db);
        }