Beispiel #1
0
        private static PageViewModelResponse Map(PageViewModel source)
        {
            var result = new PageViewModelResponse
            {
                BrandingAssetsCdn = source.BrandingAssetsCdn,
                LayoutName        = source.LayoutName,
                PageTitle         = source.PageTitle,
                Path            = source.Path,
                PhaseBannerHtml = source.PhaseBannerHtml,

                VersionedPathForCssScripts  = source.VersionedPathForCssScripts,
                VersionedPathForJavaScripts = source.VersionedPathForJavaScripts,
                VersionedPathForWebChatJs   = source.VersionedPathForWebChatJs,

                WebchatEnabled = source.WebchatEnabled,

                ContentBody         = GetContent(source, PageRegion.Body),
                ContentBodyFooter   = GetContent(source, PageRegion.BodyFooter),
                ContentBodyTop      = GetContent(source, PageRegion.BodyTop),
                ContentHeroBanner   = GetContent(source, PageRegion.HeroBanner),
                ContentBreadcrumb   = GetContent(source, PageRegion.Breadcrumb),
                ContentHead         = GetContent(source, PageRegion.Head),
                ContentSidebarLeft  = GetContent(source, PageRegion.SidebarLeft),
                ContentSidebarRight = GetContent(source, PageRegion.SidebarRight),
            };

            return(result);
        }
Beispiel #2
0
        private static PageViewModelResponse Map(PageViewModel source)
        {
            var result = new PageViewModelResponse
            {
                BrandingAssetsCdn = source.BrandingAssetsCdn,
                LayoutName        = source.LayoutName,
                PageTitle         = source.PageTitle,
                Path            = source.Path,
                PhaseBannerHtml = source.PhaseBannerHtml,

                VersionedPathForMainMinCss        = source.VersionedPathForMainMinCss,
                VersionedPathForGovukMinCss       = source.VersionedPathForGovukMinCss,
                VersionedPathForAllIe8Css         = source.VersionedPathForAllIe8Css,
                VersionedPathForJQueryBundleMinJs = source.VersionedPathForJQueryBundleMinJs,
                VersionedPathForAllMinJs          = source.VersionedPathForAllMinJs,
                VersionedPathForDfcDigitalMinJs   = source.VersionedPathForDfcDigitalMinJs,

                ContentBody         = GetContent(source, PageRegion.Body),
                ContentBodyFooter   = GetContent(source, PageRegion.BodyFooter),
                ContentBodyTop      = GetContent(source, PageRegion.BodyTop),
                ContentHeroBanner   = GetContent(source, PageRegion.HeroBanner),
                ContentBreadcrumb   = GetContent(source, PageRegion.Breadcrumb),
                ContentHead         = GetContent(source, PageRegion.Head),
                ContentSidebarLeft  = GetContent(source, PageRegion.SidebarLeft),
                ContentSidebarRight = GetContent(source, PageRegion.SidebarRight),
            };

            return(result);
        }
        public void SideBarRightDoesNotAppear()
        {
            var model = new PageViewModelResponse
            {
                LayoutName          = _layout,
                ContentSidebarRight = new HtmlString("ContentSideBarRight")
            };
            var viewBag      = new Dictionary <string, object>();
            var viewRenderer = new RazorEngineRenderer(ViewRootPath);

            var viewRenderResponse = viewRenderer.Render(@"RenderView", model, viewBag);

            Assert.DoesNotContain(model.ContentSidebarRight.Value, viewRenderResponse);
        }
        public void ContainsContentFromOtherSections()
        {
            var model = new PageViewModelResponse
            {
                LayoutName        = _layout,
                ContentHead       = new HtmlString("ContentHead"),
                ContentBodyTop    = new HtmlString("ContentBodyTop"),
                ContentBreadcrumb = new HtmlString("ContentBreadcrumb"),
                ContentBody       = new HtmlString("ContentBody"),
                ContentBodyFooter = new HtmlString("ContentBodyFooter")
            };
            var viewBag      = new Dictionary <string, object>();
            var viewRenderer = new RazorEngineRenderer(ViewRootPath);

            var viewRenderResponse = viewRenderer.Render(@"RenderView", model, viewBag);

            Assert.Contains(model.ContentHead.Value, viewRenderResponse);
            Assert.Contains(model.ContentBodyTop.Value, viewRenderResponse);
            Assert.Contains(model.ContentBreadcrumb.Value, viewRenderResponse);
            Assert.Contains(model.ContentBody.Value, viewRenderResponse);
            Assert.Contains(model.ContentBodyFooter.Value, viewRenderResponse);
        }
        public IActionResult Error()
        {
            var exceptionPathDetails  = HttpContext.Features.Get <IExceptionHandlerPathFeature>();
            var enhancedHttpException = exceptionPathDetails?.Error as EnhancedHttpException;
            var statusCode            = enhancedHttpException?.StatusCode ?? HttpStatusCode.InternalServerError;
            var path = exceptionPathDetails?.Path ?? "unknown";

            var errorString = $"{nameof(Error)}: HttpStatusCode: {(int)statusCode} Unhandled error for path:{path}: {enhancedHttpException?.Message}";

            logger.LogError(exceptionPathDetails?.Error, errorString);

            Response.StatusCode = (int)statusCode;

            var viewModel = new PageViewModelResponse()
            {
                LayoutName        = null,
                PageTitle         = "Error | National Careers Service",
                BrandingAssetsCdn = configuration.GetValue <string>(nameof(PageViewModelResponse.BrandingAssetsCdn)),
            };

            return(View(viewModel));
        }