コード例 #1
0
        private void PopulateEntries(PageViewModel pageViewModel)
        {
            var entryToEntryViewModelMapper = new EntryToEntryViewModelMapper(
                this.session,
                this.urlHelper);

            var query = this.session.Query<Entry>()
                .Where(e => e.PageId == pageViewModel.Id && e.Published && !e.Deleted)
                .OrderByDescending(e => e.PublishedAtUtc);

            var entries = query.ToList();

            pageViewModel.Entries = entries
                .Select(entryToEntryViewModelMapper.Map);
        }
コード例 #2
0
        public ActionResult ViewEntry(string pageSlug, string entrySlug)
        {
            var pageFactory = new PageFactory(this.session);
            var page = pageFactory.CreateFromSlug(pageSlug);
            if (page == null)
            {
                return new HttpNotFoundResult("No such page.");
            }

            var entryFactory = new EntryFactory(this.session);
            var entry = entryFactory.CreateFromSlug(entrySlug);
            if (entry == null)
            {
                return new HttpNotFoundResult("No such entry.");
            }

            var entryToEntryViewModelMapper = new EntryToEntryViewModelMapper(this.session, this.Url);
            var entryViewModel = entryToEntryViewModelMapper.Map(entry);

            entryViewModel.PageSlug = pageSlug;

            return this.View(entryViewModel);
        }
コード例 #3
0
        private static EntryViewModel GetMappedEntryViewModel(IDocumentSession session, Entry entry)
        {
            var testableUrlHelperFactory = new TestableUrlHelperFactory();
            var urlHelper = testableUrlHelperFactory.Create();

            var entryToEntryViewModelMapper = new EntryToEntryViewModelMapper(session, urlHelper);
            return entryToEntryViewModelMapper.Map(entry);
        }