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); }
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); }