public string Parse(HtmlHelper htmlHelper, string current)
        {
            if (current == null)
            {
                return(null);
            }

            bool submitted = true.Equals(htmlHelper.ViewContext.TempData["form-submitted"]);
            var  errors    = htmlHelper.ViewContext.TempData["form-submitted-message"] as List <string>;
            var  data      = htmlHelper.ViewContext.TempData["form-data"] as NameValueCollection;
            var  status    = new FormSubmittedStatus(submitted, errors, data);

            current = OtherPageFormMatch.Replace(current,
                                                 match =>
            {
                int pageId = Convert.ToInt32(
                    match.Value.Replace("[", "").Replace("]", "").Split('-')[1]);
                var document = _documentService.GetDocument <Webpage>(pageId);
                return(document == null
                        ? string.Empty
                        : _formRenderer.RenderForm(document, status));
            });

            current = ThisPageFormMatch.Replace(current,
                                                match => _formRenderer.RenderForm(CurrentRequestData.CurrentPage, status));

            return(current);
        }
Example #2
0
        private static FormSubmittedStatus GetStatus(ViewContext viewContext)
        {
            var submitted = true.Equals(viewContext.TempData["form-submitted"]);
            var errors    = viewContext.TempData["form-submitted-message"] as List <string>;
            var data      = viewContext.TempData["form-data"] as NameValueCollection;
            var status    = new FormSubmittedStatus(submitted, errors, data);

            return(status);
        }
Example #3
0
        public void FormRenderer_RenderForm_WhenFormDesignIsEmptyReturnsResultOfIDefaultFormRenderer()
        {
            var stubWebpage         = new StubWebpage();
            var formSubmittedStatus = new FormSubmittedStatus(false, null, null);

            A.CallTo(() => _defaultFormRenderer.GetDefault(stubWebpage, formSubmittedStatus)).Returns("test-default");

            var renderForm = _formRenderingManager.RenderForm(stubWebpage, formSubmittedStatus);

            renderForm.Should().Be("test-default");
        }
Example #4
0
        public void FormRenderer_RenderForm_IfFormDesignHasValueReturnResultCustomRendererGetForm()
        {
            var stubWebpage = new StubWebpage {
                FormDesign = "form-design-data"
            };
            var formSubmittedStatus = new FormSubmittedStatus(false, null, null);

            A.CallTo(() => _customFormRenderer.GetForm(stubWebpage, formSubmittedStatus)).Returns("custom-form");

            var renderForm = _formRenderingManager.RenderForm(stubWebpage, formSubmittedStatus);

            renderForm.Should().Be("custom-form");
        }