public void Initialize()
        {
            string sourcePath = @"G:\Uni\Kompo\seasky.accdb";

            fIDataRead = SFDB_ReadF.CreateInstance(sourcePath);
            Assert.IsNotNull(fIDataRead, "Fehler in Read_Flight_Test.TestInitialize");
            fIDataRead.InitDb();
        }
        /**
         * Methode um eine Instanz der Klasse CDB_ReadF zu erstellen
         * param    String der Pfad zur Datenbank
         * return FIDataWrite eine Instanz des Interfaces zur CDB_ReadF
         */
        public static FIDataRead CreateInstance(string dbSourcePath)
        {
            FIDataRead        dbRead            = null;
            DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory("System.Data.OleDb");
            string            connection        = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={dbSourcePath};";

            if (dbProviderFactory == null)
            {
                throw new ApplicationException("DbProviderFactory System.Data.OleDb konnte nicht erzeugt werden");
            }
            dbRead = new CDB_ReadF(dbProviderFactory, connection);

            return(dbRead);
        }
 internal FLogicQueries(FIDataRead fIDataRead)
 {
     FLog.FD("FLogicQueries.Ctor", "");
     _fIDataRead = fIDataRead;
 }
Beispiel #4
0
 public static FILogicQueries CreateInstance(FIDataRead data)
 {
     return(new FLogicQueries(data));
 }
        void Run()
        {
            // MSAccess
            _dataSourcePath = @"seasky.accdb";

            // SQLite
            //_dataSourcePath   = @"C:\0Daten\CarDatabase.db";

            try
            {
                // FlightData Layer
                _FdataRead = SFDB_ReadF.CreateInstance(_dataSourcePath);
                _FdataRead.InitDb();
                _FdataWrite = SFDB_WriteF.CreateInstance(_dataSourcePath);
                _FdataWrite.InitDb();
                // ShipInfoData Layer
                _SdataRead = SFDB_ReadS.CreateInstance(_dataSourcePath);
                _SdataRead.InitDb();
                _SdataWrite = SFDB_WriteS.CreateInstance(_dataSourcePath);
                _SdataWrite.InitDb();

                // FlightLogic Layer
                _FlogicQueries  = FFactoryQueries.CreateInstance(_FdataRead);
                _FlogicCommands = FFactoryILogicCmds.CreateInstance(_FdataWrite);
                // FlightLogic Layer
                _SlogicQueries  = SFactoryISLogicQueries.CreateInstance(_SdataRead);
                _SlogicCommands = SFactoryISLogicCommands.CreateInstance(_SdataWrite);


                // CarPresentation Layer
                _dialog = SFactoryIDialog.CreateInstance(_FlogicQueries, _FlogicCommands, _SlogicQueries, _SlogicCommands);

                // Start the App
                _app = new Application();
                _app.Run(_dialog as Window);
            }
            catch (ApplicationException e)
            {
                MessageBox.Show(e.Message, "Fehler in der Anwendung 1", MessageBoxButton.OK, MessageBoxImage.Stop);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "Fehler in der Anwendung 2", MessageBoxButton.OK, MessageBoxImage.Stop);
            }
            finally
            {
                if (_FdataRead != null)
                {
                    _FdataRead.CloseDb();
                }
                if (_FdataWrite != null)
                {
                    _FdataWrite.CloseDb();
                }
                if (_SdataRead != null)
                {
                    _SdataRead.CloseDb();
                }
                if (_SdataWrite != null)
                {
                    _SdataWrite.CloseDb();
                }
            }
        }