Example #1
0
        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());
        }