Exemplo n.º 1
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            /***
             * Implements error logging.
             * Configure all appenders.
             * Get logging level out of App.config.
             */
            Logger logger = Logger.Instance;

            // Create file appender for logging
            FileAppender filelogger = new FileAppender();
            filelogger.Configure();

            // Add all logger appenders to static list
            Logger.Appenders.Add(filelogger);

            // Get logging level out of config file
            AppSettingsReader config = new AppSettingsReader(); // Settings.Default.
            Logger.Loggerlevel = (int)config.GetValue("LoggerLevel", typeof(int));

            // Program startup logging
            logger.Log(Logger.Level.Info, "-----------------------------------------------------------");
            logger.Log(Logger.Level.Info, "Program is started.");
            logger.Log(Logger.Level.Info, "Logging level: " + Logger.Loggerlevel);

            /***
             * Checks data base existance and creates if needed.
             */
            ConfigFileManager cfm = new ConfigFileManager();
            bool exists = false;

            try
            {
                // Check if mock database shall be used. Result is stored in var ConfigFileManager.mockDB
                cfm.UsingMockDatabase();

                // Save info in logfile
                if (ConfigFileManager.MockDB == true)
                {
                    logger.Log(Logger.Level.Info, "Using mock database.");
                }
                else
                {
                    logger.Log(Logger.Level.Info, "Using SQLite database.");
                }

                exists = cfm.CheckDataBaseExistance();
            }
            // probably syntax error in config file - see logfile
            catch (System.Configuration.ConfigurationErrorsException)
            {
                Application.Exit();
            }

            // Open window, which one depends on whether the database has been found or not
            if (!exists)
            {
                Application.Run(new DBNotFoundForm());
            }
            else // database found. Start with home screen.
            {
                Application.Run(new HomeForm());
            }
        }