Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
                    }
                }
            }
        }