// ----- // Setup // ----- public AppModel() { Jam = new JamOverview { Entries = new List <JamEntry>(), AwardCriteria = new List <JamAwardCriterion>() }; PlayerDataManager = new JamPlayerDataManager { AppModel = this }; RatingCriteria = CreateDefaultRatingCriteria(); Ranking = new RankingOverview(); Awards = new AwardsOverview(); Exporter = new Exporter(this); }
private void GenerateAwards(StringBuilder sb, AwardsOverview awards) { var awardEntries = awards.Entries.Where(entry => entry.JamEntry != null).ToList(); if (!awardEntries.Any()) { return; } sb.Append("\n\n"); sb.Append("[size=6]Best ofs:[/size]"); sb.Append("\n"); foreach (var awardEntry in awardEntries) { var jamEntry = awardEntry.JamEntry !; sb.Append("\n"); sb.Append($"[b]{ awardEntry.Criterion.Description }:[/b] { jamEntry.Title } by { jamEntry.Team.Description }"); } }
// -------------- // Saving to info // -------------- public JamRankingInfo MapRankingToInfo(RankingOverview ranking, AwardsOverview awards) { var entryRatings = ranking.GetAllEntries() .Where(RankingEntryHasRatings) .Select(MapRankingEntryToRatingsInfo) .OrderBy(info => info !.EntryId) .ToList(); var rankedEntries = ranking.RankedEntries.Select(entry => entry.JamEntry.Id).ToList(); var unrankedEntries = ranking.UnrankedEntries.Select(entry => entry.JamEntry.Id).ToList(); var awardsDictionary = awards.Entries.ToDictionary(entry => entry.Criterion.Id, entry => entry.JamEntry?.Id); return(new JamRankingInfo { EntryRatings = entryRatings, RankedEntries = rankedEntries, UnrankedEntries = unrankedEntries, Awards = awardsDictionary, }); }