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(); }
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); } }