public ActionResult Menu() { var pages = this.session.Query<Page>() .Where(p => !p.Deleted) .ToList(); pages.Insert(0, Page.HomePage); var mapper = new PageToPageViewModelMapper(this.session, this.Url); var pageViewModels = pages.Select(p => mapper.Map(p, false)); return this.View(pageViewModels); }
public ActionResult ViewPage(string pageSlug) { var pageFactory = new PageFactory(this.session); var page = pageFactory.CreateFromSlug(pageSlug); if (page == null) { return new HttpNotFoundResult("No such page."); } var pageToPageViewModelMapper = new PageToPageViewModelMapper(this.session, this.Url); var pageViewModel = pageToPageViewModelMapper.Map(page); return this.View(pageViewModel); }
private PageViewModel GetPageViewModel(string pageId) { var pageToPageViewModelMapper = new PageToPageViewModelMapper(this.session, this.urlHelper); if (string.IsNullOrEmpty(pageId)) { return pageToPageViewModelMapper.Map(Page.HomePage, false); } var page = this.session.Load<Page>(pageId); if (page == null) { return pageToPageViewModelMapper.Map(Page.HomePage, false); } return pageToPageViewModelMapper.Map(page, false); }
private static PageViewModel GetMappedPageViewModel(IDocumentSession session, Page page) { var testableUrlHelperFactory = new TestableUrlHelperFactory(); var urlHelper = testableUrlHelperFactory.Create(); var pageToPageViewModelMapper = new PageToPageViewModelMapper(session, urlHelper); return pageToPageViewModelMapper.Map(page); }