Esempio n. 1
0
        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)) };
 }