Beispiel #1
0
        public async Task Process()
        {
            IAnagramSolver requestService = new AnagramClient();
            //IAnagramSolver requestService = new AnagramicaClient();
            //-----------------------delegate/action-------------
            //
            //var display = new Display(print=> WriteToConsole(print), requestService);


            var display = new DisplayWithEvents(requestService);

            display.Print += new DisplayWithEvents.PrintHandler(WriteToConsole);
            display.Print += new DisplayWithEvents.PrintHandler(WriteToFile);
            await display.ProcessAnagramManager();
        }
Beispiel #2
0
        static async Task Main(string[] args)
        {
            if (File.Exists(@"ConsoleLog.txt"))
            {
                File.Delete(@"ConsoleLog.txt");
            }

            //events
            DisplayWithEvents _userInterface = new DisplayWithEvents();

            _userInterface.PrintEvent += WriteToConsole;
            _userInterface.PrintEvent += WriteToFile;

            //loading data from settings file
            Configuration.ReadAppSettingsFile();

            var howToSolve = _userInterface.DisplayOptions();

            while (true)
            {
                if (howToSolve == 0)
                {
                    await SeedDBWithFileData();
                }

                //getting initial user input
                var userInput = _userInterface.GetInput();

                if (userInput == null)
                {
                    break;
                }

                List <string> result;
                if (howToSolve == 2)
                {
                    result = (List <string>) await _anagramSolver.GetAnagrams(userInput);
                }
                else
                {
                    result = await _apiActions.CallAnagramSolverApi(userInput);
                }

                _userInterface.DisplayResults(result);
            }
        }