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));
                    }
                }
            }
        }
Exemple #2
0
        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());
                        }
                    }
                }
            }
        }