public BlogEntryForSingleView GetBlogEntryByID(int id) { BlogEntryForSingleView blogEntry; using (var multi = _connection.QueryMultiple(SINGLE_BLOG_ENTRY_SQL, new {id})) { var blogRecord = multi.Read<SingleBlogEntryRecord>().Single(); var blogTags = multi.Read<BlogTag>().ToList(); var seriesEntries = multi.Read<BlogSeriesEntryRecord>().ToList(); blogEntry = new BlogEntryForSingleView { ID = blogRecord.ID, Title = blogRecord.Title, Author = new Models.Security.User { ID = blogRecord.UserID, Email = blogRecord.Email, FullName = blogRecord.FullName }, Category = new BlogCategory {ID = blogRecord.CategoryID, Name = blogRecord.CategoryName}, PostedAt = blogRecord.PostedAt, UpdatedAt = blogRecord.UpdatedAt, Tags = blogTags, Text = blogRecord.Text, CommentCount = blogRecord.CommentCount, BlogSeriesDetail = new BlogSeriesDetail { ID = blogRecord.ID, Name = blogRecord.SeriesName, Entries = MapBlogSeriesEntryRecordsToEntries(seriesEntries) } }; } return blogEntry; }
public SingleBlogItemViewModel(BlogEntryForSingleView blog) : base(blog) { Series = new BlogSeries { Entries = blog.BlogSeriesDetail.Entries.Select(e => GetBlogItemSeriesViewModel(e, blog.ID)) }; }