示例#1
0
        private static void RegisterDependencies()
        {
            var container = IoCHelper.GetContainer();

            RegisterApplicationDependencies(container);
            RegisterInfrastructureDependencies(container);
        }
示例#2
0
        static void Main(string[] args)
        {
            RegisterDependencies();
            log4net.Config.XmlConfigurator.Configure();

            var logger = IoCHelper.GetContainer().Resolve <ILogger>();

            try
            {
                logger.Info("Started WordSearcher");

                var folder = args[0];
                logger.Info($"Start to process files of folder='{folder}'");

                var fileManager    = IoCHelper.GetContainer().Resolve <IFileManager>();
                var processedFiles = fileManager.ProcessAllFilesFromFolder(folder);

                logger.Info($"Finish to process {processedFiles.Count} files of folder='{folder}'");

                var word = string.Empty;

                var userExpecienceManager = IoCHelper.GetContainer().Resolve <IUserExperienceManager>();

                do
                {
                    System.Console.WriteLine("Please, enter a word to search (write ':quit' to finish)");

                    word = System.Console.ReadLine();

                    if (!userExpecienceManager.IsFinishWord(word))
                    {
                        var results = fileManager.GetSortedResultsOfSearchingForAWord(processedFiles, word);
                        userExpecienceManager.DisplayResults(results);
                    }
                } while (!userExpecienceManager.IsFinishWord(word));

                logger.Info("Finished WordSearcher");
            }
            catch (Exception ex)
            {
                logger.Error($"Error on WordSearcher.Console. ERROR={ex.Message}. StackTracer={ex.StackTrace}");

                System.Console.WriteLine("Press any key to finish.");
                System.Console.ReadLine();
            }
        }