Beispiel #1
0
        private void buttonNext_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(this.textBoxQID.Text)
                || string.IsNullOrWhiteSpace(this.textBoxQText.Text))
            {
                Mbox.ShowSimpleMsgBoxError("Required data missing!");
                return;
            }

            q = new question();
            q.id = this.textBoxQID.Text;
            questionText qt = new questionText();
            qt.Value = this.textBoxQText.Text;
            q.text = qt;

            // Responses
            response responses = new response();
            q.response = responses;

            if (this.radioButtonMCYes.Checked)
            {
                // MCQ: display response form
                responseFixed responseFixed = new responseFixed();
                responses.Item = responseFixed;
                FormResponses formResponses = new FormResponses(responseFixed);
                formResponses.ShowDialog();

                // TODO - handle cancel
            }
            else
            {
                // Not MCQ
                responseFree responseFree = new responseFree();
                responses.Item = responseFree;

                // Free - just text for now
                // later, configure type
                responseFree.format = responseFreeFormat.text;
            }

            // Finally, add to part
            //updateQuestionsPart(q);

            this.Close();
        }
 public static bool LoadFromFile(string fileName, out responseFree obj)
 {
     System.Exception exception = null;
     return LoadFromFile(fileName, out obj, out exception);
 }
 /// <summary>
 /// Deserializes xml markup from file into an responseFree object
 /// </summary>
 /// <param name="fileName">string xml file to load and deserialize</param>
 /// <param name="obj">Output responseFree object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this XmlSerializer can deserialize the object; otherwise, false</returns>
 public static bool LoadFromFile(string fileName, out responseFree obj, out System.Exception exception)
 {
     exception = null;
     obj = default(responseFree);
     try
     {
         obj = LoadFromFile(fileName);
         return true;
     }
     catch (System.Exception ex)
     {
         exception = ex;
         return false;
     }
 }
 public static bool Deserialize(string xml, out responseFree obj)
 {
     System.Exception exception = null;
     return Deserialize(xml, out obj, out exception);
 }
 /// <summary>
 /// Deserializes workflow markup into an responseFree object
 /// </summary>
 /// <param name="xml">string workflow markup to deserialize</param>
 /// <param name="obj">Output responseFree object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this XmlSerializer can deserialize the object; otherwise, false</returns>
 public static bool Deserialize(string xml, out responseFree obj, out System.Exception exception)
 {
     exception = null;
     obj = default(responseFree);
     try
     {
         obj = Deserialize(xml);
         return true;
     }
     catch (System.Exception ex)
     {
         exception = ex;
         return false;
     }
 }
        public void populateControl(xpathsXpath xpathObj, responseFree rF, string sampleAnswer, string hint)
        {
            // responseFree object currently has empty content model, but pass it anyway

            sampleAnswer = this.trimSampleAnswerDelims(sampleAnswer);

            if (xpathObj.type.Equals("string"))
            {
                listBoxDataTypes.SelectedItem = "text";
                // TODO: visible stuff?
                this.ControlDataTypeMAIN.controlDataTypeString.populateControl(xpathObj, sampleAnswer, false, hint);
            }
            else if (xpathObj.type.Equals("date"))
            {
                listBoxDataTypes.SelectedItem = "date";
                this.ControlDataTypeMAIN.controlDataTypeDate.populateControl(xpathObj, sampleAnswer, false, hint);

            } else if (xpathObj.type.Equals("email")) {

                listBoxDataTypes.SelectedItem = "email";
                this.ControlDataTypeMAIN.controlDataTypeEmail.populateControl(xpathObj, sampleAnswer, false, hint);
            }
            else if (xpathObj.type.Equals("decimal"))
            {
                listBoxDataTypes.SelectedItem = "number";
                this.ControlDataTypeMAIN.controlDataTypeNumber.populateControl(xpathObj, sampleAnswer, false, hint);
            }
            else if (xpathObj.type.Equals("integer"))
            {
                listBoxDataTypes.SelectedItem = "number";
                this.ControlDataTypeMAIN.controlDataTypeNumber.populateControl(xpathObj, sampleAnswer, true, hint);
            }
            else if (xpathObj.type.Equals("positiveInteger"))
            {
                listBoxDataTypes.SelectedItem = "number";
                this.ControlDataTypeMAIN.controlDataTypeNumber.populateControl(xpathObj, sampleAnswer, true, hint);
            }
            else if (xpathObj.type.Equals("nonNegativeInteger"))
            {
                listBoxDataTypes.SelectedItem = "number";
                this.ControlDataTypeMAIN.controlDataTypeNumber.populateControl(xpathObj, sampleAnswer, true, hint);
            }
            else if (xpathObj.type.Equals("negativeInteger"))
            {
                listBoxDataTypes.SelectedItem = "number";
                this.ControlDataTypeMAIN.controlDataTypeNumber.populateControl(xpathObj, sampleAnswer, true, hint);
            }
            else if (xpathObj.type.Equals("nonPositiveInteger"))
            {
                listBoxDataTypes.SelectedItem = "number";
                this.ControlDataTypeMAIN.controlDataTypeNumber.populateControl(xpathObj, sampleAnswer, true, hint);
            }
            else if (xpathObj.type.Equals("card-number"))
            {
                listBoxDataTypes.SelectedItem = "card number";
                this.ControlDataTypeMAIN.controlDataTypeCreditCard.populateControl(xpathObj, sampleAnswer, false, hint);
            }
            else
            {
                // TODO add their custom type
                log.Error("XPath " + xpathObj.id + " has unknown value for datatype: '" + xpathObj.type);
            }

            //this.textBoxSampleAnswer.Text = trimSampleAnswerDelims(sampleAnswer);

            //this.checkBoxRequired.Checked = xpathObj.required;
        }