#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously async Task <IHttpActionResult> IWebhookHandler.ProcessRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken) { using (var scope = GetUserScope()) { string collectorToken = "NO_TOKEN"; try { var _queryParameters = HttpUtility.ParseQueryString(request.RequestUri.Query); collectorToken = _queryParameters.Get(TOKEN_PARAM); if (string.IsNullOrEmpty(collectorToken)) { throw new Exception($"The {TOKEN_PARAM} Parameter was not specified in the Query String"); } var pageNbrStr = _queryParameters.Get(PAGE_PARAM); var pageNbr = SurveyUtils.GetPageNumber(pageNbrStr); if (pageNbrStr != null && request.Method == HttpMethod.Post) { SurveyUtils.SubmitSurvey(collectorToken, request, pageNbr); pageNbr = SurveyUtils.GetNextOrPrevPageNbr(request, pageNbr); } var(content, newToken) = GetSurveyPage(collectorToken, pageNbr); if (newToken != null && newToken != collectorToken) { return(new RedirectResult(request.RequestUri, newToken, "Was anonymous")); } else { return(new HtmlActionResult(content, HttpStatusCode.OK)); } } catch (Exception ex) { PXTrace.WriteError(ex); var content = GetBadRequestPage(collectorToken, $"{ex.Message}:\n{ex.StackTrace}"); return(new HtmlActionResult(content, HttpStatusCode.BadRequest)); } } }
protected override void OnInit(EventArgs e) { try { _personId = int.Parse(Request.QueryString["id"]); if (!Manager.ExistPerson(_personId)) { Response.Redirect("pages/Page404.aspx"); return; } if (Manager.AlreadyAnswerd(PollId, _personId)) { Response.Redirect("pages/EndSurvey.aspx"); return; } } catch (ThreadAbortException) {} catch (Exception) { Response.Redirect("pages/Page404.aspx"); } var manager = new Manager(); _poll = manager.getPoll(PollId, _personId); _questionControls = SurveyUtils.RenderForm(_poll, questions, settings); submitButton.Click += submitAnswers; surveyForm.Controls.Add(submitButton); saveButton.Attributes.Add("formnovalidate", "true"); saveButton.Click += saveAnswers; surveyForm.Controls.Add(saveButton); }
protected void saveAnswers(object sender, EventArgs e) { var time = DateTime.Now; Manager.SaveAnswer(SurveyUtils.QuestionsWebControlToQuestions(_questionControls), _poll, ExternalId, _personId, time); //Response.Redirect("pages/saved.aspx"); showTaost = true; }
protected void submitAnswers(object sender, EventArgs e) { if (!SurveyUtils.Valid(_questionControls, settings)) { return; } var time = DateTime.Now; Manager.SaveAnswer(SurveyUtils.QuestionsWebControlToQuestions(_questionControls), _poll, ExternalId, _personId, time); Manager.SaveInPollSurvey(PollId, _personId, time); Response.Redirect("pages/EndSurvey.aspx"); }