コード例 #1
0
        static async Task MainAsync()
        {
            var interpretor    = new GameInterpretor();
            var gameRepository = new GameRepository();


            var files = Directory.EnumerateFiles(
                @"C:\Gangstabit",
                "*",
                SearchOption.AllDirectories).ToList();

            int count = 0;

            foreach (string file in files)
            {
                try
                {
                    var logReader = new System.IO.StreamReader(file);
                    var html      = await logReader.ReadToEndAsync();

                    html = HttpUtility.HtmlDecode(html);
                    var game = interpretor.InterpreteGameFromHtml(html, file);
                    logReader.Dispose();

                    Console.WriteLine($"{file} interpreted");
                    await gameRepository.SaveGameAsync(game);

                    Console.WriteLine($"{file} saved");

                    count++;
                    Console.WriteLine($"{count} / {files.Count()} {(double)count/ files.Count*100}%");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            }
        }
コード例 #2
0
ファイル: GameController.cs プロジェクト: rover101/gangstabit
 public GameController(IGameRepository gameRepository, GameInterpretor gameInterpretor)
 {
     _gameRepository  = gameRepository;
     _gameInterpretor = gameInterpretor;
 }