예제 #1
0
 public AwardsOverview MapInfoToAwards(JamRankingInfo rankingInfo, JamOverview jam)
 {
     return(new AwardsOverview
     {
         Entries = MapAwards(rankingInfo, jam).ToList(),
     });
 }
예제 #2
0
 private IEnumerable <AwardEntry> MapAwards(JamRankingInfo rankingInfo, JamOverview jam)
 {
     foreach (var criterion in jam.AwardCriteria)
     {
         var entryId = rankingInfo.GetAwardEntryId(criterion.Id);
         var entry   = jam.GetEntryById(entryId);
         yield return(new AwardEntry {
             Criterion = criterion, JamEntry = entry
         });
     }
 }
예제 #3
0
        // -----------------
        // Loading from info
        // -----------------

        public RankingOverview MapInfoToRanking(JamRankingInfo rankingInfo, JamOverview jam, RatingCriteriaOverview criteria)
        {
            var entriesDictionary      = jam.Entries.ToDictionary(entry => entry.Id, StringComparer.OrdinalIgnoreCase);
            var ratingsDictionary      = rankingInfo.EntryRatings.ToDictionary(entry => entry.EntryId, StringComparer.OrdinalIgnoreCase);
            var blankRatingsDictionary = new Dictionary <string, EntryRatingsInfo>();

            var pendingIds = jam.Entries
                             .Select(entry => entry.Id)
                             .Except(rankingInfo.RankedEntries, StringComparer.OrdinalIgnoreCase)
                             .Except(rankingInfo.UnrankedEntries, StringComparer.OrdinalIgnoreCase)
                             .ToList();
            var pendingEntries = MapInfoListToEntries(pendingIds, entriesDictionary, blankRatingsDictionary, criteria).ToList();

            var rankedEntries   = MapInfoListToEntries(rankingInfo.RankedEntries, entriesDictionary, ratingsDictionary, criteria).ToList();
            var unrankedEntries = MapInfoListToEntries(rankingInfo.UnrankedEntries, entriesDictionary, ratingsDictionary, criteria).ToList();

            return(new RankingOverview
            {
                PendingEntries = pendingEntries,
                RankedEntries = rankedEntries,
                UnrankedEntries = unrankedEntries,
            });
        }