public (string content, string token) GenerateSurveyPage(string token, int pageNbr) { var(survey, user, _, userCollector) = SurveyUtils.GetSurveyAndUser(graph, token); // Redirect with new token as anonymous surveys will pass the SurveyID as a token //userCollector.RefNoteID = new System.Guid(); if (userCollector.Token != token) { return(null, userCollector.Token); } graph.Survey.Current = survey; var mainTemplateID = survey.TemplateID; var mainTemplate = SurveyComponent.PK.Find(graph, mainTemplateID); string mainTemplateText = mainTemplate.Body; if (string.IsNullOrEmpty(mainTemplateText?.Trim())) { throw new PXException(Messages.TemplateNeeded); } var template = Template.Parse(mainTemplateText); var context = GetSurveyContext(survey, user, token); FillEntityInfo(survey, user, userCollector, graph, context); var renderedComps = RenderComponentsForPage(survey, user, context, pageNbr); context.SetValue(new ScriptVariableGlobal(INNER_CONTENT_LIST), renderedComps); context.SetValue(new ScriptVariableGlobal(INNER_CONTENT), string.Join("\n", renderedComps)); var rendered = template.Render(context); return(rendered, null); }
public string GetUrl(string token, int?pageNbr) { var(survey, _, answerCollector, _) = SurveyUtils.GetSurveyAndUser(graph, token); return(GetUrl(survey, answerCollector.Token, pageNbr)); }