private void AddStoryMetadataAndNarrative(ReportModel.Story story) { using (OpenTag("<div class='storyMetadata'>", HtmlTag.div)) { AddLine(story.Metadata == null ? string.Format("<div class='namespaceName'>{0}</div>", story.Namespace) : string.Format("<div class='storyTitle'>{0}</div>", string.IsNullOrWhiteSpace(story.Metadata.StoryUri) ? story.Metadata.TitlePrefix + story.Metadata.Title : string.Format("<a href='{0}'>{1}{2}</a>", story.Metadata.StoryUri, story.Metadata.TitlePrefix, story.Metadata.Title))); if (story.Metadata != null && !string.IsNullOrWhiteSpace(story.Metadata.ImageUri)) { AddLine(string.Format("<img class='storyImg' src='{0}' alt='Image for {1}{2}'/>", story.Metadata.ImageUri, story.Metadata.TitlePrefix, story.Metadata.Title)); } if (story.Metadata == null || string.IsNullOrEmpty(story.Metadata.Narrative1)) { return; } using (OpenTag("<ul class='storyNarrative'>", HtmlTag.ul)) { AddLine(string.Format("<li>{0}</li>", story.Metadata.Narrative1)); if (!string.IsNullOrEmpty(story.Metadata.Narrative2)) { AddLine(string.Format("<li>{0}</li>", story.Metadata.Narrative2)); } if (!string.IsNullOrEmpty(story.Metadata.Narrative3)) { AddLine(string.Format("<li>{0}</li>", story.Metadata.Narrative3)); } } } }
private void AddStory(ReportModel.Story story) { var scenariosInGroup = story.Scenarios.ToList(); var scenariosGroupedById = story.Scenarios.GroupBy(s => s.Id); var storyResult = (Result)scenariosInGroup.Max(s => (int)s.Result); using (OpenTag(HtmlTag.li)) { using (OpenTag(string.Format("<div class='story {0}'>", storyResult), HtmlTag.div)) { AddStoryMetadataAndNarrative(story); using (OpenTag("<div class='scenarios'>", HtmlTag.div)) { foreach (var scenario in scenariosGroupedById) { AddScenario(scenario.ToArray()); } } } } }