public static string SurveyResultToXml(SurveyResultsInfo surveyResult) { StringBuilder surveyResultBuilder = new StringBuilder(); if (surveyResult == null) { surveyResultBuilder.Append("<SurveyResult />"); } else { surveyResultBuilder.Append("<SurveyResult>"); surveyResultBuilder.Append(string.Format("<SurveyResultID>{0}</SurveyResultID>", surveyResult.SurveyResultID)); surveyResultBuilder.Append(string.Format("<SurveyOptionID>{0}</SurveyOptionID>", surveyResult.SurveyOptionID)); if (surveyResult.UserID == null) { surveyResultBuilder.Append("<UserID />"); } else { surveyResultBuilder.Append(string.Format("<UserID>{0}</UserID>", surveyResult.UserID.Value)); } if (String.IsNullOrEmpty(surveyResult.IPAddress)) { surveyResultBuilder.Append("<IPAddress />"); } else { surveyResultBuilder.Append(string.Format("<IPAddress>{0}</IPAddress>", surveyResult.IPAddress)); } if (String.IsNullOrEmpty(surveyResult.TextAnswer)) { surveyResultBuilder.Append("<TextAnswer />"); } else { surveyResultBuilder.Append(string.Format("<TextAnswer><![CDATA[{0}]]></TextAnswer>", surveyResult.TextAnswer)); } surveyResultBuilder.Append(string.Format("<ResultUserID><![CDATA[{0}]]></ResultUserID>", surveyResult.ResultUserID)); surveyResultBuilder.Append(string.Format("<CreatedDate>{0:yyyy-MM-dd hh:mm:ss}</CreatedDate>", surveyResult.CreatedDate)); surveyResultBuilder.Append(string.Format("<IsCorrect>{0}</IsCorrect>", surveyResult.IsCorrect)); surveyResultBuilder.Append("</SurveyResult>"); } return(surveyResultBuilder.ToString()); }
public static List <SurveyResultsInfo> SurveyResultsFromXml(string surveyResultsXml) { List <SurveyResultsInfo> surveyResults = null; if ((!(String.IsNullOrEmpty(surveyResultsXml))) && (surveyResultsXml != "<SurveyResults />")) { surveyResults = new List <SurveyResultsInfo>(); XmlNode surveyResultsXmlNode = Globals.GetContent(surveyResultsXml, "SurveyResults"); foreach (XmlNode surveyResultXmlNode in surveyResultsXmlNode) { SurveyResultsInfo surveyResult = SurveyResultFromXml(surveyResultXmlNode.OuterXml); if (surveyResult != null) { surveyResults.Add(surveyResult); } } } return(surveyResults); }
public static SurveyResultsInfo SurveyResultFromXml(string surveyResultXml) { SurveyResultsInfo surveyResult = null; if ((!(String.IsNullOrEmpty(surveyResultXml))) && (surveyResultXml != "<SurveyResult />")) { surveyResult = new SurveyResultsInfo(); XmlNode surveyResultXmlNode = Globals.GetContent(surveyResultXml, "SurveyResult"); surveyResult.SurveyResultID = Convert.ToInt32(surveyResultXmlNode.SelectSingleNode("SurveyResultID").InnerText); surveyResult.SurveyOptionID = Convert.ToInt32(surveyResultXmlNode.SelectSingleNode("SurveyOptionID").InnerText); if (surveyResultXmlNode.SelectSingleNode("UserID") != null) { surveyResult.UserID = Convert.ToInt32(surveyResultXmlNode.SelectSingleNode("UserID").InnerText); } else { surveyResult.UserID = 0; } if (surveyResultXmlNode.SelectSingleNode("IPAddress") != null) { surveyResult.IPAddress = surveyResultXmlNode.SelectSingleNode("IPAddress").InnerText; } else { surveyResult.IPAddress = String.Empty; } if (surveyResultXmlNode.SelectSingleNode("TextAnswer") != null) { surveyResult.TextAnswer = surveyResultXmlNode.SelectSingleNode("TextAnswer").InnerText; } else { surveyResult.TextAnswer = String.Empty; } surveyResult.ResultUserID = Guid.Parse(surveyResultXmlNode.SelectSingleNode("ResultUserID").InnerText); surveyResult.CreatedDate = Convert.ToDateTime(surveyResultXmlNode.SelectSingleNode("CreatedDate").InnerText); surveyResult.IsCorrect = Convert.ToBoolean(surveyResultXmlNode.SelectSingleNode("IsCorrect").InnerText); } return(surveyResult); }
protected void SubmitSurveyButton_Click(object sender, EventArgs e) { // First, check CAPTCHA CaptchaControl captcha = (CaptchaControl)FindControl(string.Format("Captcha_{0}", ModuleId)); if (((captcha != null) && (captcha.IsValid)) || (captcha == null)) { // Then validate page... Page.Validate(string.Format("Survey_{0}_ValidationGroup", ModuleId)); if (Page.IsValid) { if (ContactByFaxOnlyCheckBox.Checked) { // if someone activates this checkbox send him home :-) Response.Redirect("http://localhost/"); } List <SurveysInfo> surveys = SurveysController.GetAll(ModuleId); List <SurveyResultsInfo> surveyResults = new List <SurveyResultsInfo>(); Guid resultUserID = Guid.NewGuid(); foreach (SurveysInfo survey in surveys) { SurveyResultsInfo surveyResult; switch (survey.OptionType) { case QuestionType.RadioButtons: SurveyRadioButtons surveyRadioButtons = (SurveyRadioButtons)FindControl(string.Format("SurveyRadiobutton_{0}", survey.SurveyID)); surveyResult = new SurveyResultsInfo(); surveyResult.SurveyOptionID = Convert.ToInt32(surveyRadioButtons.SelectedValue); surveyResult.UserID = (UserId < 1 ? (int?)null : UserId); surveyResult.IPAddress = Request.ServerVariables["REMOTE_ADDR"]; surveyResult.IsCorrect = SurveyOptionsController.GetAll(survey.SurveyID).Find(x => x.SurveyOptionID == surveyResult.SurveyOptionID).IsCorrect; surveyResult.ResultUserID = resultUserID; surveyResults.Add(surveyResult); break; case QuestionType.CheckBoxes: SurveyCheckBoxes surveyCheckBoxes = (SurveyCheckBoxes)FindControl(string.Format("SurveyCheckbox_{0}", survey.SurveyID)); foreach (int surveyOptionID in surveyCheckBoxes.SelectedItems) { surveyResult = new SurveyResultsInfo(); surveyResult.SurveyOptionID = surveyOptionID; surveyResult.UserID = (UserId < 1 ? (int?)null : UserId); surveyResult.IPAddress = Request.ServerVariables["REMOTE_ADDR"]; surveyResult.IsCorrect = SurveyOptionsController.GetAll(survey.SurveyID).Find(x => x.SurveyOptionID == surveyResult.SurveyOptionID).IsCorrect; surveyResult.ResultUserID = resultUserID; surveyResults.Add(surveyResult); } break; case QuestionType.Text: SurveyText surveyTextBox = (SurveyText)FindControl(string.Format("SurveyTextBox_{0}", survey.SurveyID)); surveyResult = new SurveyResultsInfo(); surveyResult.SurveyOptionID = surveyTextBox.SurveyOptionID; surveyResult.UserID = (UserId < 1 ? (int?)null : UserId); surveyResult.IPAddress = Request.ServerVariables["REMOTE_ADDR"]; surveyResult.TextAnswer = PortalSecurity.InputFilter(surveyTextBox.Text, PortalSecurity.FilterFlag.MultiLine | PortalSecurity.FilterFlag.NoAngleBrackets | PortalSecurity.FilterFlag.NoMarkup | PortalSecurity.FilterFlag.NoScripting | PortalSecurity.FilterFlag.NoSQL); surveyResult.IsCorrect = true; surveyResult.ResultUserID = resultUserID; surveyResults.Add(surveyResult); break; default: break; } } if (PortalSecurity.IsInRole("Administrators")) { // This is just to force the SQL Script SurveyResults_Add to add the result if the user is an administrator SurveyResultsController.Add(surveyResults, false); } else { SurveyResultsController.Add(surveyResults, AuthorizedUsersOnly); } HttpCookie cookie = new HttpCookie(_cookie); cookie.Value = "True"; cookie.Expires = (SurveyClosingDate == DateTime.MinValue ? DateTime.MaxValue : SurveyClosingDate.AddDays(1)); Response.AppendCookie(cookie); SubmitSurveyButton.Visible = false; if (SurveyType == SurveyType.Survey) { SurveyPlaceHolder.Visible = false; if (HasViewResultsPermission) { Response.Redirect(EditUrl("SurveyResults"), false); } else { SurveyMessageLabel.Text = Localization.GetString("HasVoted.Text", LocalResourceFile); SurveyMessageLabel.CssClass = "dnnFormMessage dnnFormSuccess"; SurveyMessageLabel.Visible = true; } } else { SurveyMessageLabel.Text = Localization.GetString("QuizResults.Text", LocalResourceFile); SurveyMessageLabel.CssClass = "dnnFormMessage dnnFormSuccess"; SurveyMessageLabel.Visible = true; SurveyPlaceHolder.Controls.Clear(); DisplayQuizResults(surveys, surveyResults); } } } }