public Program(IMessageSender sender, IStoreEvents store, NuclearStorage storage)
 {
     this.sender = new SenderDecorator(sender);
     this.store = store;
     this.storage = storage;
     reader = new ConsoleReader();
 }
 static void Main(string[] args)
 {
     IReader reader = new ConsoleReader();
     IWritter writter = new ConsoleWritter();
     Engine engine = new Engine(reader, writter);
     engine.Run();
 }
Exemple #3
0
        static void Main(string[] args)
        {
            try
            {
                IPalindromeChecker palindromeChecker = new PalindromeReader();
                IConsoleOutput output = new ConsoleOutput();
                IConsoleInput inputChecker = new ConsoleReader();

                Console.WriteLine("Welcome to my application\n");
                Console.WriteLine("Input a word or sentence\n");

                var readLine = Console.ReadLine();
                if (readLine != null)
                {
                    var inputSequence = inputChecker.GetInput(readLine.ToLower());
                    var sequenceChecker = palindromeChecker.CheckSequence(inputSequence);
                    Console.WriteLine(output.Display(sequenceChecker));
                }

                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
        }
        static void Main()
        {
            IReader reader = new ConsoleReader();
            IWriter writer = new ConsoleWriter();

            var engine = new Engine(reader, writer);
            engine.Run();
        }
        public static void Main()
        {
            IWritter consoleWriter = new ConsoleWriter();
            IReader consoleReader = new ConsoleReader();
            IPowerPlant powerPlant = new PowerPlant(consoleWriter, consoleReader);

            powerPlant.Run();
        }
 public static void Main(string[] args)
 {
     IReader reader = new ConsoleReader();
     IWriter writer = new ConsoleWriter();
     IEventHolder events = new EventHolder();
     IEventLogger logger = new EventLogger();
     IEventEngine eventEngine = new EventEngine(reader, writer, events, logger);
     eventEngine.Run();
 }
Exemple #7
0
        public static void Main()
        {
            IReader consoleReader = new ConsoleReader();
            IWriter consoleWriter = new ConsoleWriter();
            IPerformanceDatabase database = new PerformanceDatabase();
            IEngine engine = new Engine(consoleReader, consoleWriter, database);

            engine.Run();
        }
        static void Main(string[] args)
        {
            IReader         reader         = new ConsoleReader();
            IWriter         writer         = new ConsoleWriter();
            IVehicleFactory vehicleFactory = new VehicleFactory();

            IEngine engine = new Engine(reader, writer, vehicleFactory);

            engine.Run();
        }
Exemple #9
0
        static void Main()
        {
            IReader       renderer = new ConsoleRenderer();
            IInputHandler reader   = new ConsoleReader();
            BaseDB        db       = new BaseDB();

            MainEngine engine = new MainEngine(renderer, reader, db);

            engine.Run();
        }
        public Application()
        {
            ConsoleReader = new ConsoleReader();

            configs = new Queue<IConfig>();

            logConfig = new LogConfig();

            configs.Enqueue(logConfig);
        }
Exemple #11
0
        public static void Main()
        {
            var     factoryAppender = new FactoryAppender();
            var     factoryLayout   = new FactoryLayout();
            IWriter consoleWriter   = new ConsoleWriter();
            IReader consoleReader   = new ConsoleReader();
            var     controller      = new Controller(factoryAppender, factoryLayout, consoleWriter, consoleReader);

            controller.Run();
        }
        public static void Main()
        {
            var blopFactory = new BlobFactory();
            var reader = new ConsoleReader();
            var writer = new ConsoleWriter();
            var data = new Data();

            var engine = new Engine(blopFactory, data, reader, writer);
            engine.Run();
        }
        public static void Main()
        {
            RecyclingManager recyclingManager = CreateRecyclingManager();
            var reader = new ConsoleReader();
            var writer = new ConsoleWriter();

            var engine = new Engine(reader, writer, recyclingManager);

            engine.Run();
        }
Exemple #14
0
    public static void Main()
    {
        var systemManager = new SystemManager();
        var dumpManager   = new DumpManager();
        var reader        = new ConsoleReader();
        var writer        = new ConsoleWriter();
        var engine        = new Engine(systemManager, dumpManager, reader, writer);

        engine.Run();
    }
        private static ConsoleGameEngine CreateConsoleGameEngine()
        {
            IReader reader = new ConsoleReader();
            IWriter writer = new ConsoleWriter();
            IPlayerInputRequester playerInputRequester = new PlayerInputRequester(reader, writer);
            IGameEngine           gameEngine           = new GameEngine();
            IGameController       gameController       = gameEngine.CreateGameController();

            return(new ConsoleGameEngine(reader, writer, playerInputRequester, gameController));
        }
 public void Capitalize()
 {
     ConsoleReader.Capitalize(string.Empty).Should().BeEmpty();
     ConsoleReader.Capitalize("a").Should().Be("A");
     ConsoleReader.Capitalize("A").Should().Be("A");
     ConsoleReader.Capitalize(" a").Should().Be(" a");
     ConsoleReader.Capitalize("abcd").Should().Be("Abcd");
     ConsoleReader.Capitalize("ab cd").Should().Be("Ab cd");
     ConsoleReader.Capitalize("AB CD").Should().Be("Ab cd");
 }
Exemple #17
0
        public static void Main(string[] args)
        {
            //Daniel Pavlov 61880
            Company       company = new Company();
            ConsoleReader reader  = new ConsoleReader();
            ConsoleWriter writer  = new ConsoleWriter();
            Engine        engine  = new Engine(reader, writer, company);

            engine.Run();
        }
        private static void Main(string[] args)
        {
            var consoleReader = new ConsoleReader();
              var input = consoleReader.ReadInt(min: 0);
              var spiral = new Spiral(input);

              Console.WriteLine("Output:");
              Console.WriteLine();
              Console.WriteLine(spiral.ToString());
        }
Exemple #19
0
        public static void Main()
        {
            IChampionshipController controller = new ChampionshipController();
            IReader reader = new ConsoleReader();
            IWriter writer = new ConsoleWriter();

            Engine enigne = new Engine(controller, reader, writer);

            enigne.Run();
        }
        public static void Main()
        {
            IInputReader reader = new ConsoleReader();
            IOutputWriter writer = new ConsoleWriter();
            IGameData data = new GameData();
            IBlobFactory blobFactory = new BlobFactory();

            IRunnable engine = new GameEngine(reader, writer, data, blobFactory);
            engine.Run();
        }
        static void Main(string[] args)
        {
            IWriter             writer             = new ConsoleWriter();
            IReader             reader             = new ConsoleReader();
            ICommandInterpreter commandInterpreter = new CommandInterpreter(new DraftManager());

            Engine engine = new Engine(writer, reader, commandInterpreter);

            engine.Run();
        }
        public static void Main(string[] args)
        {
            IPrimitiveCalculator calculator = new PrimitiveCalculator();
            IReader reader = new ConsoleReader();
            IWriter writer = new ConsoleWriter();

            Engine engine = new Engine(calculator, reader, writer);

            engine.Run();
        }
        public static void Main()
        {
            IServiceProvider    serviceProvider    = ConfigureServices();
            ICommandInterpreter commandInterpreter = new CommandInterpreter(serviceProvider);
            IWriter             writer             = new ConsoleWriter();
            IReader             reader             = new ConsoleReader();
            IRunnable           engine             = new Engine(commandInterpreter, writer, reader);

            engine.Run();
        }
Exemple #24
0
        static void Main(string[] args)
        {
            var blobFactory = new BlobFactory();
            var reader =  new ConsoleReader();
            var writer = new ConsoleWriter();
            var data = new BlobData();

            var engine = new Engine(blobFactory, data, reader, writer);
            engine.Run();
        }
Exemple #25
0
        static void Main()
        {
            IUnitOfWork        unit = new UnitOfWork();
            ICommandDispatcher commandDispatcher = new CommandDispatcher(unit);
            IReader            reader            = new ConsoleReader();
            IWriter            writer            = new ConsoleWriter();
            IRunnable          engine            = new Engine(commandDispatcher, reader, writer);

            engine.Run("start");
        }
    public static void Main()
    {
        IInputReader  reader  = new ConsoleReader();
        IOutputWriter writer  = new ConsoleWriter();
        HeroManager   manager = new HeroManager();

        Engine engine = new Engine(reader, writer, manager);

        engine.Run();
    }
Exemple #27
0
        public void Main()
        {
            IPrinter printer = new ConsolePrinter();
            IReader  reader  = new ConsoleReader();
            int      n;
            int      m;
            int      threadCount;

            printer.PrintLine("Task on threads\nEnter size of matrix to generate and to find the sum of all elements");
            while (true)
            {
                try
                {
                    printer.PrintLine("Enter n:");
                    n = Convert.ToInt32(reader.ReadLine());
                    printer.PrintLine("Enter m:");
                    m = Convert.ToInt32(reader.ReadLine());
                    break;
                }
                catch
                {
                    printer.PrintLine("You entered wrong size. Try again\n");
                }
            }
            var matrix = new Matrix(n, m);

            while (true)
            {
                try
                {
                    printer.PrintLine("Enter a number of threads:");
                    threadCount = Convert.ToInt32(reader.ReadLine());
                    break;
                }
                catch
                {
                    printer.PrintLine("You entered wrong number of threads. Try again\n");;
                }
            }

            var threads = new Threads(threadCount);

            var watch = new Stopwatch();

            watch.Start();
            int sumFromThreads = threads.GetSumOfMatrixElements(matrix);

            watch.Stop();

            printer.PrintLine("sum from threads = " + sumFromThreads);
            var _sum = matrix.GetSumOfAllElements();

            printer.PrintLine("real sum = " + _sum);
            printer.PrintLine("Execution time = " + watch.ElapsedMilliseconds + " ms");
        }
        public static void Main()
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;

            IHotelBookingSystemData database = new HotelBookingSystemData();
            IInputReader reader = new ConsoleReader();
            IOutputWriter writer = new ConsoleWriter();

            var engine = new Engine(database, reader, writer);
            engine.StartOperation();
        }
Exemple #29
0
        public static void Main(string[] args)
        {
            IInputReader  consoleReader = new ConsoleReader();
            IOutputWriter consoleWriter = new ConsoleWriter();

            ICommandManager consoleForumCommandManager = new ConsoleForumCommandManager(consoleReader, consoleWriter);

            IEngine consoleForumEngine = new ConsoleForumEngine(consoleForumCommandManager);

            consoleForumEngine.Run();
        }
Exemple #30
0
        public override void Solve(ConsoleReader cr, ConsoleWriter cw)
        {
            int Q = cr;

            for (int q = 0; q < Q; q++)
            {
                ulong a = cr;
                int   k = cr;
                cw.WriteLine(NthRoots.IntegerRoot(a, k));
            }
        }
        public static void Main(string[] args)
        {
            IBlobFactory blobFactory = new BlobFactory();
            IAttackFactory attackFactory = new AttackFactory();
            IBehaviorFactory behaviorFactory = new BehaviorFactory();
            IInputReader reader = new ConsoleReader();
            IOutputWriter writer = new ConsoleWriter();

            IEngine engine = new Engine(blobFactory, attackFactory, behaviorFactory, reader, writer);
            engine.Run();
        }
        static void Main(string[] args)
        {
            IInputReader         inputReader     = new ConsoleReader();
            IOutputWriter        outputWriter    = new ConsoleWriter();
            IAttackTypeFactory   attackFactory   = new AttackTypeFactory();
            IBehaviorTypeFactory behaviorFactory = new BehaviorTypeFactory();

            IEngine engine = new Engine(inputReader, outputWriter, attackFactory, behaviorFactory);

            engine.Run();
        }
Exemple #33
0
        public static void Main()
        {
            IInputReader  inputReader  = new ConsoleReader();
            IOutputWriter outputWriter = new ConsoleWriter();
            IBlobFactory  blobFactory  = new BlobFactory();
            IGameData     gameData     = new GameData();

            IGameEngine gameEngine = new GameEngine(inputReader, outputWriter, blobFactory, gameData);

            gameEngine.Run();
        }
        public static void Main()
        {
            var servants      = new List <IServant>();
            var consoleReader = new ConsoleReader();
            var consoleWriter = new ConsoleWriter();
            var kingName      = consoleReader.ReadLine();
            var king          = new King(kingName);
            var engine        = new Engine(servants, consoleReader, consoleWriter, king);

            engine.Run();
        }
Exemple #35
0
        private static RouletteStrategyTester CreateServices()
        {
            ConsoleLogger logger = new ConsoleLogger();
            ConsoleReader reader = new ConsoleReader();

            UserInputManager  userInputManager  = new UserInputManager(logger, reader);
            StatisticsManager statisticsManager = new StatisticsManager();
            Visualizer        visualizer        = new Visualizer(logger);

            return(new RouletteStrategyTester(visualizer, userInputManager, statisticsManager));
        }
Exemple #36
0
        public static void Main(string[] args)
        {
            var consoleReader = new ConsoleReader();
            var player        = new Player(consoleReader);
            var scoreCard     = new ScoreCard();
            var rng           = new Rng();
            var yatzy         = new YatzyGame(player, scoreCard, rng);

            Display.WelcomeMessage();
            yatzy.PlayGame();
        }
Exemple #37
0
        private static void Main(string[] args)
        {
            IHacherGroupFactory hacherGroupFactory = new HackerGroupFactory();
            IWarEffectFactory   warEffectFactory   = new WarEffectFactory();
            IReader             reader             = new ConsoleReader();
            IWriter             writer             = new Writer();
            IGameData           gameData           = new GameData();
            Engine engine = new Engine(hacherGroupFactory, warEffectFactory, reader, writer, gameData);

            engine.Run();
        }
Exemple #38
0
        public override void Solve(ConsoleReader cr, ConsoleWriter cw)
        {
            int n    = cr;
            int q    = cr;
            var sums = new LongSums(cr.Repeat(n));

            for (int i = 0; i < q; i++)
            {
                int l = cr;
                int r = cr;
                cw.WriteLine(sums[l..r]);
Exemple #39
0
        public static void Main(string[] args)
        {
            IReader           reader           = new ConsoleReader();
            IWriter           writer           = new ConsoleWriter();
            IManager          manager          = new HeroManager();
            ICommandProcessor commandProcessor = new CommandProcessor(manager);

            var engine = new Engine(reader, writer, commandProcessor);

            engine.Run();
        }
        static void Main()
        {
            IReader  reader         = new ConsoleReader();
            IWriter  writer         = new ConsoleWriter();
            IManager reactorManager = new ReactorManager();

            ICommandParser commandParser = new CommandParser(reactorManager);
            IEngine        engine        = new Engine(reader, writer, commandParser);

            engine.Run();
        }
Exemple #41
0
        public static void Main(string[] args)
        {
            var a = 3;

            IWriter writer = new ConsoleWriter();
            IReader reader = new ConsoleReader();

            IEngine engine = new Engine(reader, writer);

            engine.Run();
        }
    public static void Main()
    {
        IReader reader = new ConsoleReader();
        IWriter writer = new ConsoleWriter();

        var gameController = new GameController(writer);

        IEngine engine = new Engine(reader, writer, gameController);

        engine.Run();
    }
Exemple #43
0
        public void TestReadInput()
        {
            IInputReader reader   = new ConsoleReader();
            string       expected = "test";

            using (StringReader sr = new StringReader(expected))
            {
                Console.SetIn(sr);
                Assert.AreEqual(reader.ReadInput(), expected, "The read value should be the same as the input");
            }
        }
Exemple #44
0
    public static void Main()
    {
        IReader        reader         = new ConsoleReader();
        IWriter        writer         = new ConsoleWriter();
        GameController gameController = new GameController(writer);

        Engine engine = new Engine(writer, reader, gameController);

        // run program
        engine.Run();
    }
Exemple #45
0
        public static void Main(string[] args)
        {
            IBuildingFactory buildingFactory = new BuildingFactory();
            IUnitFactory unitFactory = new UnitFactory();
            IResourceFactory resourceFactory = new ResourceFactory();
            IInputReader reader = new ConsoleReader();
            IOutputWriter writer = new ConsoleWriter();
            IEmpiresData database = new Database();

            IEngine engine = new Engine(unitFactory, resourceFactory, buildingFactory, reader, writer, database);
            engine.Run();
        }
Exemple #46
0
        static void Main()
        {
            var buildingFactory = new BuildingFactory();
            var unitFactory = new UnitFactory();
            var resourceFactory = new ResourceFactory();
            var reader = new ConsoleReader();
            var writer = new ConsoleWriter();
            var data = new EmpiresData();

            var engine = new Engine(buildingFactory, resourceFactory, unitFactory, data, reader, writer);
            engine.Run();
        }
        public static void Main()
        {
            IGameDatabase gameDatabase = new GameDatabase();
            IInputReader reader = new ConsoleReader();
            IOutputWriter writer = new ConsoleWriter();

            var engine = new GameEngine(
                gameDatabase,
                reader,
                writer);

            engine.Start();
        }
        public static void Main()
        {
            IBangaloreUniversityData data = new BangaloreUniversityData();

            IInputReader reader = new ConsoleReader();

            IOutputWriter writer = new ConsoleWriter
            {
                AutoFlush = true
            };

            IEngine engine = new BangaloreUniversityEngine(reader, writer, data);
            engine.Run();
        }
Exemple #49
0
        static void Main(string[] args)
        {
            RunnerSelector selector = new RunnerSelector();
            ConsoleReader reader = new ConsoleReader();

            while (true)
            {

                selector.SelectRunner().Run().Print(80);

                if (!reader.AskYesNoQuestion("Try again?"))
                    break;

            }
        }
        public static void Main()
        {
            ITicketCatalog catalog = new TicketCatalog();

            ICommandManager commandManager = new CommandManager(catalog);

            IInputReader reader = new ConsoleReader();

            IOutputWriter writer = new ConsoleWriter
            {
                AutoFlush = true
            };

            IEngine engine = new Engine(commandManager, reader, writer);

            engine.Run();
        }
        public static void Main()
        {
            IDataBase db = new DataBase();

            ICommandManager commandManager = new CommandManager();

            IInputReader reader = new ConsoleReader();

            IOutputWriter writer = new ConsoleWriter
            {
                AutoFlush = true
            };

            IEngine engine = new EmpiresEngine(db, commandManager, reader, writer);

            engine.Run();
        }
 public Engine(
    IBlobFactory blobFactory,
    Data data,
    PutridFart putridFart,
    Blobplode blobplode,
    Aggressive aggressive,
    Inflated inflated,
    ConsoleReader reader,
    ConsoleWriter writer)
 {
     this.blobFactory = blobFactory;
     this.data = data;
     this.putridFart = putridFart;
     this.blobplode = blobplode;
     this.aggressive = aggressive;
     this.inflated = inflated;
     this.reader = reader;
     this.writer = writer;
 }
        static void Main()
        {
            IInputReader consoleReader = new ConsoleReader();
            var consoleWriter = new ConsoleWriter
            {
                AutoFlush = true
            };

            IUnitContainer unitMatrix = new MatrixContainer(MatrixRows, MatrixCols);
            ICommandDispatcher commandDispatcher = new ExtendedCommandDispatcher(); //CommandDispatcher();
            IUnitEffector unitEffector = new HealthEffector(); // EmptyUnitEffector();

            var engine = new Engine(unitMatrix,
                consoleReader,
                consoleWriter,
                commandDispatcher,
                unitEffector);

            engine.Start();
        }
        public void Run()
        {
            var reader = new ConsoleReader();
            var searcher = new DfsSearcher<long>();
            IEnumerable<KeyValuePair<int, int>> data = reader.GetData();

            var addedNodes = new Dictionary<int, INode<long>>();
            foreach (var item in data)
            {
                if (!addedNodes.ContainsKey(item.Key))
                {
                    addedNodes.Add(item.Key, new TreeNode<long>(item.Key) { });
                }

                INode<long> parentNode = addedNodes[item.Key];

                if (!addedNodes.ContainsKey(item.Value))
                {
                    addedNodes.Add(item.Value, new TreeNode<long>(item.Value) { });
                }

                INode<long> childNode = addedNodes[item.Value];

                parentNode.AddChild(childNode);
                childNode.AddChild(parentNode);
            }

            var processedNodes = addedNodes
                .Select(kvp => kvp.Value)
                .Where(n => n.ChildrenCount == 1)
                .ToList();

            foreach (var item in processedNodes)
            {
                searcher.GetResult(item);
            }

            searcher.WriteResultOn(Console.Out);
        }
        public static void Main()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

            IDatabase database = new Database();

            IUserTracker userTracker = new UserTracker(database);

            IIssueTracker issueTracker = new IssueTracker(database);

            IDispatcher dispatcher = new Dispatcher(issueTracker, userTracker);

            IInputReader reader = new ConsoleReader();

            IOutputWriter writer = new ConsoleWriter
            {
                AutoFlush = true
            };

            IEngine engine = new Engine(dispatcher, reader, writer);
            engine.Run();
        }
 public void SetUp()
 {
     _obj = new ConsoleOutput();
     _obj2 = new ConsoleReader();
 }
 public void TearDown()
 {
     _obj = null;
     _obj2 = null;
 }
Exemple #58
0
        private static void Main(string[] args)
        {
            reader = new ConsoleReader();
            reader.Title = "Gateway server, type help for commands";
            reader.Initialize += new EventHandler(reader_Initialize);
            reader.Register(new ConsoleCommandHandler(Version));
            reader.Register(new ConsoleCommandHandler(CrcValidationCheck));
            reader.Register(new ConsoleCommandHandler(CheckHost));
            reader.Register(new ConsoleCommandHandler(Shutdown));
            reader.Clear(null);

            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

            //SagaConfigurationManager.read();
            string file = System.Reflection.Assembly.GetExecutingAssembly().Location;
            string fname = Path.GetFileNameWithoutExtension(file);

            //TRACELOG
            Trace.AutoFlush = true;
            Trace.IndentSize = 4;
            if (System.Diagnostics.Trace.Listeners.Count <= 1 && (System.Diagnostics.Trace.Listeners["Default"] == null ||
                System.Diagnostics.Trace.Listeners["Default"].GetType() == typeof(System.Diagnostics.DefaultTraceListener)))
            {
                DelimitedListTraceListener del = new System.Diagnostics.DelimitedListTraceListener((fname + ".log.csv"), "text");
                del.Delimiter = ",";
                System.Diagnostics.Trace.Listeners.Add(del);
            }

            Trace.WriteLine("#############################################################################");
            Trace.WriteLine(string.Format("Saga Gateway Server starting on: {0}", DateTime.Now));
            Trace.WriteLine(string.Format("OS Information: {0}", Environment.OSVersion));
            Trace.WriteLine(string.Format("Number of Processors: {0}", Environment.ProcessorCount));
            Trace.WriteLine(string.Format("CLR Version: {0}", Environment.Version));
            Trace.WriteLine(string.Format("Working set: {0}", Environment.WorkingSet));
            Trace.WriteLine(string.Format("OS Bit Version: {0} Bit", IntPtr.Size * 8));
            Trace.WriteLine("#############################################################################");

            System.Configuration.Configuration b =
                ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            if (CheckConfigExists() == false)
            {
                Console.WriteLine("First time run-configuration");
                char key;

            ConfigureGatewayNetwork:
                Console.WriteLine("Do you wan to configure the gateway-network settings? Y/N");
                key = Console.ReadKey(true).KeyChar;
                if (key == 'y')
                {
                    Console.WriteLine("What ip should the gateway server listen to?");
                    while (!IPAddress.TryParse(Console.ReadLine(), out gatewayip))
                    {
                        Console.WriteLine("Incorrect value please use an ipv4 adress, recommended 0.0.0.0");
                    }

                    Console.WriteLine("What port should the gateway server listen to?");
                    while (!int.TryParse(Console.ReadLine(), out gatewayport))
                    {
                        Console.WriteLine("Incorrect value please use an number between 1024–49151, recommended 64000");
                    }
                }
                else if (key != 'n') goto ConfigureGatewayNetwork;

            ConfigureAuthenticationNetwork:
                Console.WriteLine("Do you wan to configure the authentication-network settings? Y/N");
                key = Console.ReadKey(true).KeyChar;
                if (key == 'y')
                {
                    Console.WriteLine("What is the ip of the authentication server");
                    while (!IPAddress.TryParse(Console.ReadLine(), out authenticationip))
                    {
                        Console.WriteLine("Incorrect value please use an ipv4 adress, recommended 0.0.0.0");
                    }

                    Console.WriteLine("On what port is the authentication server listening");
                    while (!int.TryParse(Console.ReadLine(), out authenticationport))
                    {
                        Console.WriteLine("Incorrect value please use an number between 1024–49151, recommended 64000");
                    }
                }
                else if (key != 'n') goto ConfigureAuthenticationNetwork;

            ConfigureGUID:
                Console.WriteLine("Do you wan to configure the gateway-guid settings? Y/N");
                key = Console.ReadKey(true).KeyChar;
                if (key == 'y')
                {
                    Console.WriteLine("What is the crc key");
                    byte[] ncrckey;
                    while (!Conversions.TryParse(Console.ReadLine(), out ncrckey) || crckey.Length != 20)
                    {
                        Console.WriteLine("Crc key key must be 20 hex digit string, recommended: A928CDC9DBE8751B3BC99EB65AE07E0C849CE739");
                    }

                    Console.WriteLine("What is the guid key");
                    byte[] nguidkey;
                    while (!Conversions.TryParse(Console.ReadLine(), out nguidkey) || guidkey.Length != 20)
                    {
                        Console.WriteLine("Guid key key must be 20 hex digit string, recommended: ED90AA25AE906FB36308C8523A4737A7E7B1FC6F");
                    }

                    crckey = Conversions.ByteToHexString(ncrckey);
                    guidkey = Conversions.ByteToHexString(nguidkey);
                }
                else if (key != 'n') goto ConfigureGUID;

                NetworkSettings networkSettings = new NetworkSettings();
                NetworkFileCollection collection = networkSettings.Connections;
                collection["public"] = new NetworkElement("public", gatewayip.ToString(), gatewayport);
                collection["internal"] = new NetworkElement("internal", authenticationip.ToString(), authenticationport);
                networkSettings.Crckey = crckey;
                networkSettings.Guidkey = guidkey;
                b.Sections.Remove("Saga.NetworkSettings");
                b.Sections.Add("Saga.NetworkSettings", networkSettings);
                b.Save();
                ConfigurationManager.RefreshSection("Saga.NetworkSettings");

                Console.WriteLine("Everything configured");
                LoginClient client;
                for (int i = 0; i < 3; i++)
                {
                    if (NetworkManager.TryGetLoginClient(out client))
                    {
                        Console.WriteLine("Test connection created");
                        client.Close();
                        break;
                    }
                    else
                    {
                        Thread.Sleep(3000);
                        Console.WriteLine("Test connection failed retrying in 3 secconds");
                    }
                }
            }
            else
            {
                LoginClient client;
                Console.WriteLine("Configuration file exists");
                Console.WriteLine("Trying to connect to authentication-server...");
                if (NetworkManager.TryGetLoginClient(out client))
                {
                    client.ExchangeIpAdress(IPAddress.Loopback);
                    Console.WriteLine("Connection to authentication-server is create");
                }
                else
                {
                    switch (NetworkManager.LastError)
                    {
                        case NetworkManager.NetworkError.InvalidHost:
                        Console.WriteLine("Host is invalid");
                        break;

                    case NetworkManager.NetworkError.Refused:
                        Console.WriteLine("Target machine activly refused the connection");
                        break;

                    case NetworkManager.NetworkError.Unknown:
                        Console.WriteLine("Unknown exception occured");
                        break;

                    case NetworkManager.NetworkError.Unreachable:
                        Console.WriteLine("Target machin is unreachable");
                        break;
                    }
                }
            }

            reader.Start();
        }
Exemple #59
0
        private static void FirstRunConfiguration()
        {
            IPAddress gatewayip = IPAddress.Loopback;
            int gatewayport = 64001;
            IPAddress mapip = IPAddress.Loopback;
            int mapport = 64002;
            string databaseusername = "******";
            string databasepassword = "******";
            uint dbport = 3306;
            string databasename = "saga_auth";
            string dbhost = "localhost";
            string provider = "Saga.Authentication.Data.Mysql.dll, Saga.Authentication.Data.Mysql.MysqlProvider";
            ConsoleReader reader = new ConsoleReader();
            reader.Clear(null);

            System.Configuration.Configuration b = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            if (CheckConfigExists() == false)
            {
                Console.WriteLine("First time run-configuration");
                char key;

                provider = FindPlugin(typeof(IDatabase), "Saga.Authentication.Data.Mysql.dll, Saga.Authentication.Data.Mysql.MysqlProvider");

            ConfigureGatewayNetwork:
                Console.WriteLine("Do you wan to configure the authentication-gateway network settings? Y/N");
                key = Console.ReadKey(true).KeyChar;
                if (key == 'y')
                {
                    Console.WriteLine("What ip should the authentication-gateway server listen to?");
                    while (!IPAddress.TryParse(Console.ReadLine(), out gatewayip))
                    {
                        Console.WriteLine("Incorrect value please use an ipv4 adress, recommended 0.0.0.0");
                    }

                    Console.WriteLine("What port should the authentication-gateway server listen to?");
                    while (!int.TryParse(Console.ReadLine(), out gatewayport))
                    {
                        Console.WriteLine("Incorrect value please use an number between 1024�49151, recommended 64001");
                    }
                }
                else if (key != 'n') goto ConfigureGatewayNetwork;

            ConfigureWorldNetwork:
                Console.WriteLine("Do you wan to configure the authentication-map network settings? Y/N");
                key = Console.ReadKey(true).KeyChar;
                if (key == 'y')
                {
                    Console.WriteLine("What ip should the authentication-map server listen to?");
                    while (!IPAddress.TryParse(Console.ReadLine(), out mapip))
                    {
                        Console.WriteLine("Incorrect value please use an ipv4 adress, recommended 0.0.0.0");
                    }

                    Console.WriteLine("On what port is the authentication server listening");
                    while (!int.TryParse(Console.ReadLine(), out mapport))
                    {
                        Console.WriteLine("Incorrect value please use an number between 1024�49151, recommended 64000");
                    }
                }
                else if (key != 'n') goto ConfigureWorldNetwork;

            DatabaseName:
                Console.WriteLine("Do you wan to configure the database settings? Y/N");
                key = Console.ReadKey(true).KeyChar;
                if (key == 'y')
                {
                    Console.WriteLine("What is the database name?");
                    databasename = Console.ReadLine();

                    Console.WriteLine("What is the database username?");
                    databaseusername = Console.ReadLine();

                    Console.WriteLine("What is the database password?");
                    databasepassword = Console.ReadLine();

                    Console.WriteLine("What is the database port?");
                    while (!uint.TryParse(Console.ReadLine(), out dbport))
                    {
                        Console.WriteLine("Incorrect value please use an number between 1024�49151, recommended 3306");
                    }

                    Console.WriteLine("What is the database host?");
                    dbhost = Console.ReadLine();
                }
                else if (key != 'n') goto DatabaseName;

                //Adjust network settings
                NetworkSettings networkSettings = b.Sections["Saga.NetworkSettings"] as NetworkSettings;
                if (networkSettings == null) networkSettings = new NetworkSettings();

                NetworkFileCollection collection = networkSettings.Connections;
                collection["public"] = new NetworkElement("public", gatewayip.ToString(), gatewayport);
                collection["internal"] = new NetworkElement("internal", mapip.ToString(), mapport);
                b.Sections.Remove("Saga.NetworkSettings");
                b.Sections.Add("Saga.NetworkSettings", networkSettings);

                //Adjust database settings
                DatabaseSettings databaseSettings = b.Sections["Saga.Manager.Database"] as DatabaseSettings;
                if (databaseSettings == null) databaseSettings = new DatabaseSettings();
                databaseSettings.Database = databasename;
                databaseSettings.Username = databaseusername;
                databaseSettings.Password = databasepassword;
                databaseSettings.Port = dbport;
                databaseSettings.Host = dbhost;
                databaseSettings.DbType = provider;
                b.Sections.Remove("Saga.Manager.Database");
                b.Sections.Add("Saga.Manager.Database", databaseSettings);
                b.Save();
                ConfigurationManager.RefreshSection("Saga.NetworkSettings");
                ConfigurationManager.RefreshSection("Saga.Manager.Database");
                Console.WriteLine("Everything configured");
            }
        }
 protected override void Initialize()
 {
     reader = new ConsoleReader();
     reader.Title = "Authentication server, type help for commands";
     reader.Clear(null);
 }