Exemple #1
0
        public static void Main(string[] args)
        {
            Console.Clear();
            Console.WriteLine("SixNet BBS, Starting up...");
            _bbsDatabaseConfiguration = BBSDatabaseConfiguration.LoadConfig("./");
            if (_bbsDatabaseConfiguration == null)
            {
                Console.WriteLine("Run setup utility first.");
                return;
            }
            _connectionString = BBSDatabaseConfiguration.BuildConnectionString(_bbsDatabaseConfiguration);
            LoggingAPI.Init("./Logs/");
            if (BBSDatabaseConfiguration.IsDatabaseSetup(_connectionString))
            {
                Console.WriteLine("Database configured.");
                _core = new BBSDataCore(_connectionString);
            }
            else
            {
                Console.WriteLine("Database not configured - run setup utility.");
                return;
            }
            var config = _core.GetBBSConfig();

            LoggingAPI.LogEntry("Software started.");
            try
            {
                quitFlag = false;
                BBSServer bbsServer = new BBSServer(_connectionString, config.BBSPort, "BBS Server");
                bbsServer.Start();
                while (!quitFlag)
                {
                    Thread.Sleep(100);
                    if (Console.KeyAvailable)
                    {
                        if (Console.ReadKey().Key == ConsoleKey.Q)
                        {
                            quitFlag = true;
                            bbsServer.Stop();
                            break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                LoggingAPI.Error(e);
            }
            finally
            {
                LoggingAPI.LogEntry("Software shutdown.");
                LoggingAPI.FlushQueue();
            }
        }
Exemple #2
0
        private static void MainMenu()
        {
            _exitFlag = false;
            while (!_exitFlag)
            {
                Console.Clear();
                Console.WriteLine("SixNet Setup Utility");
                Divider();
                if (BBSDatabaseConfiguration.IsDatabaseSetup(_connectionString))
                {
                    Console.WriteLine("Database configured.");
                    _core = new BBSDataCore(_connectionString);
                }
                else
                {
                    Console.WriteLine("Database not configured.");
                }
                Divider();
                Console.WriteLine("1. Configure  Database");
                if (BBSDatabaseConfiguration.IsDatabaseSetup(_connectionString))
                {
                    Console.WriteLine("2. Configure BBS");
                    Console.WriteLine("3. Setup Message Bases");
                    Console.WriteLine("4. Setup UD Bases");
                    Console.WriteLine("5. Setup GFile Areas");
                    Console.WriteLine("6. Setup PFile Areas");
                    Console.WriteLine("S. Save Configuration");
                }
                Console.WriteLine("X. Exit");
                var selection = Input("Select", "");
                switch (selection.ToUpper())
                {
                case "1":
                    SetupDatabase();
                    break;

                case "2":
                    SetupBBS();
                    break;

                case "5":
                    SetupGFileAreas();
                    break;

                case "6":
                    SetupPFileAreas();
                    break;

                case "S":
                    BBSDatabaseConfiguration.SaveConfig(_basePath, _bbsDatabaseConfiguration);
                    break;

                case "X":
                    _exitFlag = true;
                    break;

                default:
                    break;
                }
            }
        }