示例#1
0
 public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
 {
     Writer.AddAttribute(HtmlTextWriterAttribute.Class, "soption");
     Writer.RenderBeginTag(HtmlTextWriterTag.Div);
     {
         Writer.RenderBeginTag(HtmlTextWriterTag.Table);
         {
             if (question.UseDateTimeControls)
             {
                 RenderQuestionAsDatePicker(survey, page, question);
             }
             else
             {
                 if (question.ValidationBehavior == ValidationMode.Date1)
                 {
                     RenderQuestionAsInputControls1(survey, page, question);
                 }
                 else if (question.ValidationBehavior == ValidationMode.Date2)
                 {
                     RenderQuestionAsInputControls2(survey, page, question);
                 }
             }
         }
         Writer.RenderEndTag();
     }
     Writer.RenderEndTag();
 }
示例#2
0
        void AssertQuestionsAreCopies(VLSurveyQuestion source, VLSurveyQuestion copy)
        {
            Assert.IsTrue(copy.Survey != source.Survey);
            //copy.QuestionId
            //copy.Page
            Assert.IsTrue(copy.MasterQuestion == source.MasterQuestion);
            Assert.IsTrue(copy.DisplayOrder == source.DisplayOrder);
            Assert.IsTrue(copy.QuestionType == source.QuestionType);
            Assert.IsTrue(copy.CustomType == source.CustomType);
            Assert.IsTrue(copy.IsRequired == source.IsRequired);
            Assert.IsTrue(copy.RequiredBehavior == source.RequiredBehavior);
            Assert.IsTrue(copy.RequiredMinLimit == source.RequiredMinLimit);
            Assert.IsTrue(copy.RequiredMaxLimit == source.RequiredMaxLimit);
            Assert.IsTrue(copy.AttributeFlags == default(Int32));

            //copy.TextsLanguage
            Assert.IsTrue(copy.QuestionText == source.QuestionText);
            Assert.IsTrue(copy.Description == source.Description);
            Assert.IsTrue(copy.HelpText == source.HelpText);
            Assert.IsTrue(copy.FrontLabelText == source.FrontLabelText);
            Assert.IsTrue(copy.AfterLabelText == source.AfterLabelText);
            Assert.IsTrue(copy.InsideText == source.InsideText);
            Assert.IsTrue(copy.RequiredMessage == source.RequiredMessage);
            Assert.IsTrue(copy.ValidationMessage == source.ValidationMessage);
            Assert.IsTrue(copy.OtherFieldLabel == source.OtherFieldLabel);
        }
示例#3
0
        void LogicQuestionButton(HtmlTextWriter writer, VLSurveyQuestion question)
        {
            if (question.QuestionType == QuestionType.OneFromMany || question.QuestionType == QuestionType.DropDown)
            {
                if (question.HasSkipLogic)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionLogicButton");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);

                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionLogicLink greenbutton");
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, string.Format("javascript:OnQuestionLogicBtn({0}, {1}, {2}, true)", question.Survey, question.QuestionId, question.TextsLanguage));
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    HttpUtility.HtmlEncode("Edit Question Logic", writer);
                    writer.RenderEndTag();

                    writer.RenderEndTag();
                }
                else
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionLogicButton");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);

                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionLogicLink greybutton");
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, string.Format("javascript:OnQuestionLogicBtn({0}, {1}, {2}, false)", question.Survey, question.QuestionId, question.TextsLanguage));
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    HttpUtility.HtmlEncode("Add Question Logic", writer);
                    writer.RenderEndTag();

                    writer.RenderEndTag();
                }
            }
        }
示例#4
0
        public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            Collection <VLQuestionOption> options = SurveyManager.GetQuestionOptions(question);
            Collection <VLQuestionColumn> columns = SurveyManager.GetQuestionColumns(question);

            Writer.AddAttribute(HtmlTextWriterAttribute.Class, "matrixmanyperrow");
            Writer.RenderBeginTag(HtmlTextWriterTag.Table);

            //<thead>
            Writer.RenderBeginTag(HtmlTextWriterTag.Thead);
            Writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            Writer.RenderBeginTag(HtmlTextWriterTag.Td);
            Writer.RenderEndTag();
            foreach (VLQuestionColumn column in columns)
            {
                Writer.AddAttribute(HtmlTextWriterAttribute.Class, "ColumnText");
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                HttpUtility.HtmlEncode(column.ColumnText, Writer);
                Writer.RenderEndTag();
            }
            Writer.RenderEndTag();
            Writer.RenderEndTag();


            //<tbody>
            foreach (VLQuestionOption option in options)
            {
                Writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                Writer.AddAttribute(HtmlTextWriterAttribute.Class, "OptionText");
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                HttpUtility.HtmlEncode(option.OptionText, Writer);
                Writer.RenderEndTag();

                {
                    foreach (var column in columns)
                    {
                        Writer.RenderBeginTag(HtmlTextWriterTag.Td);

                        Writer.AddAttribute(HtmlTextWriterAttribute.Type, "checkbox");
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, "1");
                        Writer.AddAttribute(HtmlTextWriterAttribute.Name, option.HtmlOptionId + column.HtmlPartialColumnId);//ID
                        if (this.RuntimeSession != null && this.RuntimeSession[option.HtmlOptionId + column.HtmlPartialColumnId] != null)
                        {
                            Writer.AddAttribute(HtmlTextWriterAttribute.Checked, "Checked");
                        }
                        Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                        Writer.RenderEndTag();


                        Writer.RenderEndTag();
                    }
                }

                Writer.RenderEndTag();
            }

            Writer.RenderEndTag();
        }
示例#5
0
 void AddQuestionButtons(HtmlTextWriter writer, VLSurveyQuestion question)
 {
     writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionbuttons");
     writer.RenderBeginTag(HtmlTextWriterTag.Div);
     {
         AddQuestionButton(writer, question);
         AddLibraryQuestionButton(writer, question);
     }
     writer.RenderEndTag();
 }
 void RenderDecimal(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question, string content)
 {
     Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
     Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Decimal");
     if (!string.IsNullOrWhiteSpace(content))
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Value, HttpUtility.HtmlEncode(content));
     }
     Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "OptionalInputBox_userinput");
     Writer.RenderBeginTag(HtmlTextWriterTag.Input);
     Writer.RenderEndTag();
 }
示例#7
0
        void DeleteQuestionButton(HtmlTextWriter writer, VLSurveyQuestion question)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionDeleteButton");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionDeleteLink redbutton");
            writer.AddAttribute(HtmlTextWriterAttribute.Href, string.Format("javascript:OnQuestionDelete({0}, {1}, {2})", question.Survey, question.QuestionId, question.TextsLanguage));
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            HttpUtility.HtmlEncode("Delete", writer);
            writer.RenderEndTag();

            writer.RenderEndTag();
        }
示例#8
0
        void AddLibraryQuestionButton(HtmlTextWriter writer, VLSurveyQuestion question)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "libraryQuestionAddButton");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "libraryQuestionAddLink");
            writer.AddAttribute(HtmlTextWriterAttribute.Href, string.Format("javascript:OnLibraryQuestionAdd({0}, {1}, {2}, {3},{4})", this.Surveyid, this.SurveyPageId, (Int16)InsertPosition.Before, question != null ? question.QuestionId.ToString() : "null", this.TextsLanguage));
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            HttpUtility.HtmlEncode("Add Library Question", writer);
            writer.RenderEndTag();

            writer.RenderEndTag();
        }
示例#9
0
        void MoveQuestionButton(HtmlTextWriter writer, VLSurveyQuestion question)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionMoveButton");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "questionMoveLink greybutton");
            writer.AddAttribute(HtmlTextWriterAttribute.Href, string.Format("javascript:OnQuestionMove({0}, {1})", question.Survey, question.QuestionId));
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            HttpUtility.HtmlEncode("Move", writer);
            writer.RenderEndTag();

            writer.RenderEndTag();
        }
 void RenderDefault(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question, string content)
 {
     Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
     Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Generic");
     if (question.ValidationBehavior == ValidationMode.TextOfSpecificLength)
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, question.ValidationField2);
     }
     if (!string.IsNullOrWhiteSpace(content))
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Value, HttpUtility.HtmlEncode(content));
     }
     Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "OptionalInputBox_userinput");
     Writer.RenderBeginTag(HtmlTextWriterTag.Input);
     Writer.RenderEndTag();
 }
        public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            Writer.AddAttribute(HtmlTextWriterAttribute.Class, "composite");
            Writer.RenderBeginTag(HtmlTextWriterTag.Div);
            {
                //Τραβάμε τις child ερωτήσεις:
                var childQuestions = SurveyManager.GetChildQuestions(question.Survey, question.QuestionId, question.TextsLanguage);

                foreach (var childQuestion in childQuestions)
                {
                    var _renderer = HtmlRenderers.GetQuestionRenderer(this.SurveyManager, this.Writer, this.RuntimeSession, childQuestion.QuestionType);
                    _renderer.RenderQuestion(survey, page, childQuestion);
                }
            }
            Writer.RenderEndTag();
        }
        public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            var options = SurveyManager.GetQuestionOptions(question);

            Writer.AddAttribute(HtmlTextWriterAttribute.Class, "DropDown");
            Writer.RenderBeginTag(HtmlTextWriterTag.Div);
            {
                Writer.AddAttribute(HtmlTextWriterAttribute.Class, "mOption");
                Writer.RenderBeginTag(HtmlTextWriterTag.Div);
                {
                    Writer.RenderBeginTag(HtmlTextWriterTag.Label);
                    HttpUtility.HtmlEncode(question.QuestionText, Writer);
                    Writer.RenderEndTag();

                    Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId);
                    Writer.RenderBeginTag(HtmlTextWriterTag.Select);

                    Writer.AddAttribute(HtmlTextWriterAttribute.Value, string.Empty);
                    Writer.RenderBeginTag(HtmlTextWriterTag.Option);
                    HttpUtility.HtmlEncode("[please select]", Writer);
                    Writer.RenderEndTag();

                    string _selectedOptionId = null;
                    if (this.RuntimeSession != null)
                    {
                        _selectedOptionId = this.RuntimeSession[question.HtmlQuestionId] as string;
                    }
                    Int32 selectedOptionId = string.IsNullOrEmpty(_selectedOptionId) == false?Int32.Parse(_selectedOptionId) : 0;

                    foreach (var option in options)
                    {
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, option.OptionId.ToString(CultureInfo.InvariantCulture));
                        if (option.OptionId == selectedOptionId)
                        {
                            Writer.AddAttribute(HtmlTextWriterAttribute.Selected, "Selected");
                        }
                        Writer.RenderBeginTag(HtmlTextWriterTag.Option);
                        HttpUtility.HtmlEncode(option.OptionText, Writer);
                        Writer.RenderEndTag();
                    }

                    Writer.RenderEndTag();
                }
                Writer.RenderEndTag();
            }
            Writer.RenderEndTag();
        }
示例#13
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var surveyId      = TryParseInt32(context, "surveyId");
            var questionId    = TryParseInt16(context, "questionId");
            var textsLanguage = TryParseInt16(context, "textsLanguage");


            VLSurveyManager  surveyManager = VLSurveyManager.GetAnInstance(accessToken);
            VLSurveyQuestion question      = surveyManager.GetQuestionById(surveyId, questionId, textsLanguage);

            if (question != null)
            {
                var _question = new
                {
                    question.Survey,
                    question.QuestionId,
                    question.Page,
                    question.MasterQuestion,
                    question.DisplayOrder,
                    question.QuestionType,
                    question.CustomType,
                    question.IsRequired,
                    question.AttributeFlags,
                    question.ValidationBehavior,
                    question.RegularExpression,
                    question.HasSkipLogic,
                    question.TextsLanguage,

                    question.QuestionText,
                    question.Description,
                    question.HelpText,
                    question.FrontLabelText,
                    question.AfterLabelText,
                    question.InsideText,
                    question.RequiredMessage,
                    question.ValidationMessage
                };


                var response = JsonConvert.SerializeObject(_question, Formatting.None);
                context.Response.Write(response);
            }
            else
            {
                throw new VLException(string.Format("There is no Question with id='{0},{1}'.", surveyId, questionId));
            }
        }
        public void RenderQuestion2(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            Writer.AddAttribute(HtmlTextWriterAttribute.Width, "99%");
            Writer.AddAttribute(HtmlTextWriterAttribute.Class, "rangeTable");
            Writer.RenderBeginTag(HtmlTextWriterTag.Table);
            {
                //<thead>

                //<tbody>
                Writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                {
                    //FrontLabelText
                    Writer.AddAttribute(HtmlTextWriterAttribute.Width, "50%");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                    HttpUtility.HtmlEncode(question.FrontLabelText, Writer);
                    Writer.RenderEndTag();

                    for (int range = question.RangeStart.Value; range <= question.RangeEnd.Value; range++)
                    {
                        Writer.AddAttribute(HtmlTextWriterAttribute.Width, "0%");
                        Writer.AddAttribute(HtmlTextWriterAttribute.Align, "center");
                        Writer.RenderBeginTag(HtmlTextWriterTag.Td);


                        Writer.AddAttribute(HtmlTextWriterAttribute.Width, "38px");
                        Writer.RenderBeginTag(HtmlTextWriterTag.Div);
                        {
                            Writer.AddAttribute(HtmlTextWriterAttribute.Type, "radio");
                            Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                            Writer.RenderEndTag();
                        }
                        Writer.RenderEndTag();

                        Writer.RenderEndTag();
                    }

                    //AfterLabelText
                    Writer.AddAttribute(HtmlTextWriterAttribute.Width, "50%");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                    HttpUtility.HtmlEncode(question.AfterLabelText, Writer);
                    Writer.RenderEndTag();
                }
                Writer.RenderEndTag();
            }

            Writer.RenderEndTag();
        }
        protected void RenderOptionInputBox(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            var content = string.Empty;

            if (this.RuntimeSession != null)
            {
                content = this.RuntimeSession[question.HtmlQuestionId + "OptionalInputBox_userinput"] as string;
            }


            if (question.OtherFieldType == OtherFieldType.MultipleLines)
            {
                Writer.AddAttribute(HtmlTextWriterAttribute.Cols, "50");
                Writer.AddAttribute(HtmlTextWriterAttribute.Rows, "4");
                Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "OptionalInputBox_userinput");
                Writer.RenderBeginTag(HtmlTextWriterTag.Textarea);
                if (!string.IsNullOrWhiteSpace(content))
                {
                    Writer.Write(HttpUtility.HtmlEncode(content));
                }
                Writer.RenderEndTag();
            }
            else
            {
                if (question.ValidationBehavior == ValidationMode.WholeNumber)
                {
                    RenderWholeNumber(survey, page, question, content);
                }
                else if (question.ValidationBehavior == ValidationMode.DecimalNumber)
                {
                    RenderDecimal(survey, page, question, content);
                }
                else if (question.ValidationBehavior == ValidationMode.Date1)
                {
                    RenderDate1(survey, page, question, content);
                }
                else if (question.ValidationBehavior == ValidationMode.Date2)
                {
                    RenderDate2(survey, page, question, content);
                }
                else
                {
                    RenderDefault(survey, page, question, content);
                }
            }
        }
示例#16
0
        public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            Writer.AddAttribute(HtmlTextWriterAttribute.Class, "soption");
            Writer.RenderBeginTag(HtmlTextWriterTag.Div);


            Writer.AddAttribute(HtmlTextWriterAttribute.Cols, "50");
            Writer.AddAttribute(HtmlTextWriterAttribute.Rows, "4");
            Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId);
            Writer.RenderBeginTag(HtmlTextWriterTag.Textarea);
            if (this.RuntimeSession != null)
            {
                Writer.Write(HttpUtility.HtmlEncode(this.RuntimeSession[question.HtmlQuestionId]));
            }
            Writer.RenderEndTag();

            Writer.RenderEndTag();
        }
示例#17
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            var surveyId      = TryParseInt32(context, "surveyId");
            var questionId    = TryParseInt16(context, "questionId");
            var textsLanguage = TryParseInt16(context, "textsLanguage");


            VLSurveyManager  surveyManager = VLSurveyManager.GetAnInstance(accessToken);
            VLSurveyQuestion question      = surveyManager.GetQuestionById(surveyId, questionId, textsLanguage);

            if (question != null)
            {
                var options = surveyManager.GetQuestionOptions(question);
                var columns = surveyManager.GetQuestionColumns(question);


                var _question = new
                {
                    question.Survey,
                    question.QuestionId,
                    question.Page,
                    question.MasterQuestion,
                    question.DisplayOrder,
                    QuestionType = question.QuestionType.ToString(),
                    question.CustomType,
                    question.IsRequired,
                    question.HasSkipLogic,

                    question.TextsLanguage,

                    Options = options,
                    Columns = columns,
                    question.QuestionText,
                };


                var response = JsonConvert.SerializeObject(_question, Formatting.None);
                context.Response.Write(response);
            }
            else
            {
                throw new VLException(string.Format("There is no Question with id='{0},{1}'.", surveyId, questionId));
            }
        }
 void RenderWholeNumber(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question, string content)
 {
     Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
     Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Integer");
     if (question.ValidationBehavior == ValidationMode.WholeNumber)
     {
         if (string.IsNullOrWhiteSpace(question.ValidationField2) == false)
         {
             Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, (question.ValidationField2.Length + 1).ToString());
         }
     }
     if (!string.IsNullOrWhiteSpace(content))
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Value, HttpUtility.HtmlEncode(content));
     }
     Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "OptionalInputBox_userinput");
     Writer.RenderBeginTag(HtmlTextWriterTag.Input);
     Writer.RenderEndTag();
 }
示例#19
0
 public void RenderQuestionAsDatePicker(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
 {
     Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
     Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "10");
     if (question.ValidationBehavior == ValidationMode.Date1)
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Date1");
     }
     else if (question.ValidationBehavior == ValidationMode.Date2)
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Date2");
     }
     if (this.RuntimeSession != null)
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId] as string);
     }
     Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId);
     Writer.RenderBeginTag(HtmlTextWriterTag.Input);
     Writer.RenderEndTag();
 }
示例#20
0
 public void RenderDefault(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
 {
     Writer.AddAttribute(HtmlTextWriterAttribute.Class, "soption");
     Writer.RenderBeginTag(HtmlTextWriterTag.Div);
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Generic");
         Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
         if (question.ValidationBehavior == ValidationMode.TextOfSpecificLength)
         {
             Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, question.ValidationField2);
         }
         if (this.RuntimeSession != null)
         {
             Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId] as string);
         }
         Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId);
         Writer.RenderBeginTag(HtmlTextWriterTag.Input);
         Writer.RenderEndTag();
     }
     Writer.RenderEndTag();
 }
示例#21
0
 public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
 {
     if (question.ValidationBehavior == ValidationMode.WholeNumber)
     {
         IntegerRenderer _renderer = new IntegerRenderer(this.SurveyManager, this.Writer, this.RuntimeSession);
         _renderer.RenderQuestion(survey, page, question);
     }
     else if (question.ValidationBehavior == ValidationMode.DecimalNumber)
     {
         DecimalRenderer _renderer = new DecimalRenderer(this.SurveyManager, this.Writer, this.RuntimeSession);
         _renderer.RenderQuestion(survey, page, question);
     }
     else if (question.ValidationBehavior == ValidationMode.Date1 || question.ValidationBehavior == ValidationMode.Date2)
     {
         DateRenderer _renderer = new DateRenderer(this.SurveyManager, this.Writer, this.RuntimeSession);
         _renderer.RenderQuestion(survey, page, question);
     }
     else
     {
         RenderDefault(survey, page, question);
     }
 }
        public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            Writer.AddAttribute(HtmlTextWriterAttribute.Class, "soption");
            Writer.RenderBeginTag(HtmlTextWriterTag.Div);
            {
                //Writer.AddAttribute(HtmlTextWriterAttribute.For, question.HtmlQuestionId);
                //Writer.RenderBeginTag(HtmlTextWriterTag.Label);
                //HttpUtility.HtmlEncode(question.QuestionText, Writer);
                //Writer.RenderEndTag();

                Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Decimal");
                if (this.RuntimeSession != null)
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId] as string);
                }
                Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId);
                Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                Writer.RenderEndTag();
            }
            Writer.RenderEndTag();
        }
示例#23
0
 public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
 {
     Writer.AddAttribute(HtmlTextWriterAttribute.Class, "soption");
     Writer.RenderBeginTag(HtmlTextWriterTag.Div);
     {
         Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
         Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Integer");
         if (question.ValidationBehavior == ValidationMode.WholeNumber)
         {
             if (string.IsNullOrWhiteSpace(question.ValidationField2) == false)
             {
                 Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, (question.ValidationField2.Length + 1).ToString());
             }
         }
         if (this.RuntimeSession != null)
         {
             Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId] as string);
         }
         Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId);
         Writer.RenderBeginTag(HtmlTextWriterTag.Input);
         Writer.RenderEndTag();
     }
     Writer.RenderEndTag();
 }
示例#24
0
 public abstract void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question);
        public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            Collection <VLQuestionOption> options = SurveyManager.GetQuestionOptions(question);
            Collection <VLQuestionColumn> columns = SurveyManager.GetQuestionColumns(question);

            Writer.AddAttribute(HtmlTextWriterAttribute.Class, "matrixoneperrow");
            Writer.RenderBeginTag(HtmlTextWriterTag.Table);

            //<thead>
            Writer.RenderBeginTag(HtmlTextWriterTag.Thead);
            Writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            Writer.RenderBeginTag(HtmlTextWriterTag.Td);
            Writer.RenderEndTag();
            foreach (VLQuestionColumn column in columns)
            {
                Writer.AddAttribute(HtmlTextWriterAttribute.Class, "ColumnText");
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                HttpUtility.HtmlEncode(column.ColumnText, Writer);
                Writer.RenderEndTag();
            }
            Writer.RenderEndTag();
            Writer.RenderEndTag();

            //<tbody>
            foreach (VLQuestionOption option in options)
            {
                Writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                Writer.AddAttribute(HtmlTextWriterAttribute.Class, "OptionText");
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                HttpUtility.HtmlEncode(option.OptionText, Writer);
                Writer.RenderEndTag();

                {
                    string _selectedColumnId = null;
                    if (this.RuntimeSession != null)
                    {
                        _selectedColumnId = this.RuntimeSession[option.HtmlOptionId] as string;
                    }
                    Int32 selectedColumnId = _selectedColumnId != null?Int32.Parse(_selectedColumnId) : 0;

                    foreach (var column in columns)
                    {
                        Writer.RenderBeginTag(HtmlTextWriterTag.Td);

                        Writer.AddAttribute(HtmlTextWriterAttribute.Type, "radio");
                        Writer.AddAttribute(HtmlTextWriterAttribute.Name, option.HtmlOptionId);//ID
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, column.ColumnId.ToString());
                        if (selectedColumnId == column.ColumnId)
                        {
                            Writer.AddAttribute(HtmlTextWriterAttribute.Checked, "Checked");
                        }
                        Writer.RenderBeginTag(HtmlTextWriterTag.Input);

                        Writer.RenderEndTag();

                        Writer.RenderEndTag();
                    }
                }

                Writer.RenderEndTag();
            }

            Writer.RenderEndTag();
        }
示例#26
0
        public void RenderQuestionAsInputControls1(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            //MM/DD/YYYY
            Writer.RenderBeginTag(HtmlTextWriterTag.Thead);
            Writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            {
                Writer.Write("<td></td><th abbr=\"Month\" scope=\"col\">MM</th><td>&nbsp;</td><th abbr=\"Day\" scope=\"col\">DD</th><td>&nbsp;</td><th abbr=\"Year\" scope=\"col\">YYYY</th><th style=\"width: 80%;\"></th>");
            }
            Writer.RenderEndTag();
            Writer.RenderEndTag();

            Writer.RenderBeginTag(HtmlTextWriterTag.Tbody);
            Writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            {
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                Writer.RenderEndTag();

                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Date_Month");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "2");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Size, "2");
                    if (this.RuntimeSession != null)
                    {
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId + "_MONTH"] as string);
                    }
                    Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "_MONTH");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                    Writer.RenderEndTag();
                }
                Writer.RenderEndTag();
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                Writer.Write("/");
                Writer.RenderEndTag();

                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Date_Day");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "2");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Size, "2");
                    if (this.RuntimeSession != null)
                    {
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId + "_DAY"] as string);
                    }
                    Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "_DAY");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                    Writer.RenderEndTag();
                }
                Writer.RenderEndTag();
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                Writer.Write("/");
                Writer.RenderEndTag();

                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Date_Year");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "4");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Size, "4");
                    if (this.RuntimeSession != null)
                    {
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId + "_YEAR"] as string);
                    }
                    Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "_YEAR");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                    Writer.RenderEndTag();
                }
                Writer.RenderEndTag();
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                Writer.RenderEndTag();
            }
            Writer.RenderEndTag();
            Writer.RenderEndTag();
        }
        void RenderDate1(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question, string content)
        {
            Writer.RenderBeginTag(HtmlTextWriterTag.Table);
            Writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            {
                #region Date format
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                Writer.Write("(MM/DD/YYYY)");
                Writer.RenderEndTag();
                #endregion

                #region MONTH
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Date_Month");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "2");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Size, "2");
                    if (this.RuntimeSession != null)
                    {
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId + "OptionalInputBox_userinput" + "_MONTH"] as string);
                    }
                    Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "OptionalInputBox_userinput" + "_MONTH");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                    Writer.RenderEndTag();
                }
                Writer.RenderEndTag();
                #endregion

                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                Writer.Write("/");
                Writer.RenderEndTag();

                #region DAY
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Date_Day");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "2");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Size, "2");
                    if (this.RuntimeSession != null)
                    {
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId + "OptionalInputBox_userinput" + "_DAY"] as string);
                    }
                    Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "OptionalInputBox_userinput" + "_DAY");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                    Writer.RenderEndTag();
                }
                Writer.RenderEndTag();
                #endregion

                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                Writer.Write("/");
                Writer.RenderEndTag();

                #region YEAR
                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Class, "Date_Year");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "4");
                    Writer.AddAttribute(HtmlTextWriterAttribute.Size, "4");
                    if (this.RuntimeSession != null)
                    {
                        Writer.AddAttribute(HtmlTextWriterAttribute.Value, this.RuntimeSession[question.HtmlQuestionId + "OptionalInputBox_userinput" + "_YEAR"] as string);
                    }
                    Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId + "OptionalInputBox_userinput" + "_YEAR");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                    Writer.RenderEndTag();
                }
                Writer.RenderEndTag();
                #endregion

                Writer.RenderBeginTag(HtmlTextWriterTag.Td);
                Writer.RenderEndTag();
            }
            Writer.RenderEndTag();
            Writer.RenderEndTag();
        }
        public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
        {
            var options = SurveyManager.GetQuestionOptions(question);

            Writer.AddAttribute(HtmlTextWriterAttribute.Class, "onefrommany");
            Writer.RenderBeginTag(HtmlTextWriterTag.Div);
            {
                #region
                string _selectedOptionId = null;
                Int32  selectedOptionId  = 0;
                if (this.RuntimeSession != null)
                {
                    _selectedOptionId = this.RuntimeSession[question.HtmlQuestionId] as string;
                    if (!string.IsNullOrWhiteSpace(_selectedOptionId))
                    {
                        if (!Int32.TryParse(_selectedOptionId, out selectedOptionId))
                        {
                            selectedOptionId = 0;
                        }
                    }
                }

                //we render the options:
                foreach (var option in options)
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Class, "mOption");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    {
                        //<label></label>
                        Writer.RenderBeginTag(HtmlTextWriterTag.Label);
                        {
                            //<input type="radio" />
                            Writer.AddAttribute(HtmlTextWriterAttribute.Type, "radio");
                            Writer.AddAttribute(HtmlTextWriterAttribute.Value, option.OptionId.ToString(CultureInfo.InvariantCulture));
                            Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId);
                            if (option.OptionId == selectedOptionId)
                            {
                                Writer.AddAttribute(HtmlTextWriterAttribute.Checked, "Checked");
                            }
                            Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                            Writer.RenderEndTag();
                        }
                        HttpUtility.HtmlEncode(option.OptionText, Writer);
                        Writer.RenderEndTag();
                    }
                    Writer.RenderEndTag();
                }

                //Do we need to add an OptionalInputBox?
                if (question.OptionalInputBox)
                {
                    Writer.AddAttribute(HtmlTextWriterAttribute.Class, "mOption OptionalInputBox");
                    Writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    {
                        //<label></label>
                        Writer.RenderBeginTag(HtmlTextWriterTag.Label);
                        {
                            //<input type="radio" />
                            Writer.AddAttribute(HtmlTextWriterAttribute.Type, "radio");
                            Writer.AddAttribute(HtmlTextWriterAttribute.Value, question.HtmlQuestionId + "OptionalInputBox_");
                            Writer.AddAttribute(HtmlTextWriterAttribute.Name, question.HtmlQuestionId);
                            if (question.HtmlQuestionId + "OptionalInputBox_" == _selectedOptionId)
                            {
                                Writer.AddAttribute(HtmlTextWriterAttribute.Checked, "Checked");
                            }
                            Writer.RenderBeginTag(HtmlTextWriterTag.Input);
                            Writer.RenderEndTag();
                        }
                        HttpUtility.HtmlEncode(question.OtherFieldLabel, Writer);
                        Writer.RenderEndTag();

                        //Other Field:
                        RenderOptionInputBox(survey, page, question);
                    }
                    Writer.RenderEndTag();
                }
                #endregion
            }
            Writer.RenderEndTag();
        }
 public override void RenderQuestion(VLSurvey survey, VLSurveyPage page, VLSurveyQuestion question)
 {
 }
示例#30
0
        protected override void ProcessGetRequestWrapped(Valis.Core.VLAccessToken accessToken, HttpContext context)
        {
            try
            {
                var            libraryQuestionId  = TryParseInt32(context, "questionId");
                var            surveyId           = TryParseInt32(context, "surveyId");
                var            pageId             = TryParseInt16(context, "pageId");
                InsertPosition position           = (InsertPosition)TryParseInt16(context, "position");
                Int16?         referingQuestionId = TryParseInt16(context, "referingQuestionId", false, null);
                var            textsLanguage      = TryParseInt16(context, "textsLanguage");

                VLSurveyManager  surveyManager = VLSurveyManager.GetAnInstance(accessToken);
                VLSurveyQuestion question      = null;
                if (referingQuestionId.HasValue)
                {
                    if (position == InsertPosition.Before)
                    {
                        question = surveyManager.AddLibraryQuestionBefore(surveyId, pageId, referingQuestionId.Value, libraryQuestionId, textsLanguage);
                    }
                    else if (position == InsertPosition.After)
                    {
                        question = surveyManager.AddLibraryQuestionAfter(surveyId, pageId, referingQuestionId.Value, libraryQuestionId, textsLanguage);
                    }
                    else
                    {
                        question = surveyManager.AddLibraryQuestion(surveyId, pageId, libraryQuestionId, textsLanguage);
                    }
                }
                else
                {
                    question = surveyManager.AddLibraryQuestion(surveyId, pageId, libraryQuestionId, textsLanguage);
                }


                var _question = new
                {
                    question.Survey,
                    question.QuestionId,
                    question.Page,
                    question.MasterQuestion,
                    question.DisplayOrder,
                    question.QuestionType,
                    question.CustomType,
                    question.IsRequired,
                    question.AttributeFlags,
                    question.ValidationBehavior,
                    question.RegularExpression,
                    question.TextsLanguage,

                    question.QuestionText,
                    question.Description,
                    question.HelpText,
                    question.FrontLabelText,
                    question.AfterLabelText,
                    question.InsideText,
                    question.RequiredMessage,
                    question.ValidationMessage
                };


                var response = JsonConvert.SerializeObject(_question, Formatting.None);
                context.Response.Write(response);
            }
            catch
            {
                throw;
            }
        }