コード例 #1
0
        /// <summary>
        /// Render the story.
        /// </summary>
        /// <param name="story">The story.</param>
        /// <param name="allTasks">All tasks.</param>
        /// <returns></returns>
        private string RenderStory(Story story, ICollection<Task> allTasks)
        {
            StringBuilder sb = new StringBuilder();

            SprintStory ss = sprint.GetSprintStoryFor(story);
            string priority = "<img src='/content/images/moscow_unknown.png' title='Unknown'/>";
            string prioritycss = "sunknown";

            sb.AppendLine("<li class='storyli'>");
            sb.AppendLine("<div class='sheader'>");

            if (ss != null)
            {
                switch (ss.SprintBacklogPriority)
                {
                    case Priority.Must:
                        priority = "<img src='/content/images/moscow_must.png' title='Must'/>";
                        prioritycss = "smust";
                        break;
                    case Priority.Should:
                        priority = "<img src='/content/images/moscow_should.png' title='Should'/>";
                        prioritycss = "sshould";
                        break;
                    case Priority.Could:
                        priority = "<img src='/content/images/moscow_could.png' title='Could'/>";
                        prioritycss = "scould";
                        break;
                    case Priority.Would:
                        priority = "<img src='/content/images/moscow_wont.png' title='Won't'/>";
                        prioritycss = "swont";
                        break;
                    case Priority.Unknown:
                        break;
                    default:
                        throw new ArgumentOutOfRangeException();
                }
            }

            sb.AppendFormat("<span class='moscow'>{0}</span>{1}", priority, story.Title);
            sb.AppendFormat("<span class='time'>{0}</span>", OpmaakHelper.UrenStatus(story.Estimation, story.TotalTimeSpent()));
            sb.AppendLine("</div>");
            sb.AppendFormat("<div class='stext'>{0}</div>", RenderMarkdown(story.Description));
            sb.AppendFormat("<div class='stasks {0}'>", prioritycss);

            sb.AppendLine("<ul class='tasklist'>");

            foreach (Task task in story.Tasks)
            {
                if (allTasks.Contains(task))
                {
                    sb.AppendLine(RenderTask(task));
                }
            }

            sb.AppendLine("</ul>");

            sb.AppendLine("</div>");
            sb.AppendLine("</li>");

            return sb.ToString();
        }