private void GenerateComments(StringBuilder sb, RankingOverview ranking, string commentTemplateString) { var entriesWithComments = ranking.RankedEntries.Concat(ranking.UnrankedEntries) .Where(rankingEntry => !string.IsNullOrWhiteSpace(rankingEntry.Comment)) .OrderBy(rankingEntry => rankingEntry.JamEntry.Title) .ThenBy(rankingEntry => rankingEntry.JamEntry.Team.Description) .ToList(); if (!entriesWithComments.Any()) { return; } sb.Append("\n\n"); sb.Append("[size=6]Comments:[/size]"); sb.Append("\n\n"); sb.Append("[spoiler]"); var entryTemplate = EntryTemplateParser.Parse(commentTemplateString); foreach (var rankingEntry in entriesWithComments) { sb.Append("\n"); sb.Append(entryTemplate.FormatEntry(rankingEntry)); } sb.Append("[/spoiler]"); }
public static EntryTemplate Parse(string templateString) { var parser = new EntryTemplateParser(templateString); return(parser.DoParse()); }