コード例 #1
0
    public override bool Execute(Arguments arguments)
    {
      var downloader = new RatingDownloader();
      var filename = arguments["f"];

      var ratedCards = Cards.All.Select(x => x.Name)
        .Select(x => new RatedCard {Name = x})
        .ToList();

      if (File.Exists(filename))
      {
        Console.WriteLine("Reading existing ratings from {0}...", filename);
        ReadExistingRatings(filename, ratedCards);
      }

      foreach (var ratedCard in ratedCards)
      {
        ratedCard.Rating = ratedCard.Rating ?? downloader.TryDownloadRating(ratedCard.Name) ?? 3.0m;
      }

      using (var writer = new StreamWriter(filename))
      {
        foreach (var ratedCard in ratedCards)
        {
          writer.WriteLine("{0};{1}",
            ratedCard.Rating.GetValueOrDefault()
              .ToString("f", CultureInfo.InvariantCulture), ratedCard.Name);
        }
      }

      return true;
    }
コード例 #2
0
ファイル: WriteCardRatings.cs プロジェクト: longde123/grove
        public override bool Execute(Arguments arguments)
        {
            var downloader = new RatingDownloader();
            var filename   = arguments["f"];

            var ratedCards = Cards.All.Select(x => x.Name)
                             .Select(x => new RatedCard {
                Name = x
            })
                             .ToList();

            if (File.Exists(filename))
            {
                Console.WriteLine("Reading existing ratings from {0}...", filename);
                ReadExistingRatings(filename, ratedCards);
            }

            foreach (var ratedCard in ratedCards)
            {
                ratedCard.Rating = ratedCard.Rating ?? downloader.TryDownloadRating(ratedCard.Name) ?? 3.0m;
            }

            using (var writer = new StreamWriter(filename))
            {
                foreach (var ratedCard in ratedCards)
                {
                    writer.WriteLine("{0};{1}",
                                     ratedCard.Rating.GetValueOrDefault()
                                     .ToString("f", CultureInfo.InvariantCulture), ratedCard.Name);
                }
            }

            return(true);
        }