コード例 #1
0
ファイル: MainViewModel.cs プロジェクト: Flokri/Questonaut
        /// <summary>
        /// Load the user element from firebase.
        /// </summary>
        private async void LoadElementAndNavigateAsync()
        {
            var questionDoc = await CrossCloudFirestore.Current
                              .Instance
                              .GetCollection(QBaseQuestion.CollectionPath)
                              .GetDocument(SelectedItem.Link)
                              .GetDocumentAsync();

            QBaseQuestion baseQuestion = questionDoc.ToObject <QBaseQuestion>();

            try
            {
                if (baseQuestion != null && baseQuestion.Type != null)
                {
                    switch (baseQuestion.Type)
                    {
                    case "TextEntry":
                        QQuestion question = questionDoc.ToObject <QQuestion>();

                        var navigationParams = new NavigationParameters();
                        navigationParams.Add("question", question);
                        navigationParams.Add("activity", SelectedItem);

                        Device.BeginInvokeOnMainThread(async() =>
                        {
                            await _navigationService.NavigateAsync("TextEntryView", navigationParams, null, false);
                        });
                        break;

                    case "Slider":
                        break;

                    case "MultipleChoice":
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                Crashes.TrackError(e);
            }
        }
コード例 #2
0
ファイル: creadorxml.aspx.cs プロジェクト: RosaProg/codes
        protected void Page_Load(object sender, EventArgs e)
        {
            #region XMLWriter

            using (XmlTextWriter Writer = new XmlTextWriter("C:\\Users\\August\\Documents\\MIXML.xml", Encoding.Unicode))
            {
                Writer.WriteStartDocument();
                Writer.Formatting  = Formatting.Indented;
                Writer.Indentation = 12;

                Writer.WriteStartElement("data");

                Writer.WriteStartElement("Questionnaire");
                Writer.WriteElementString("Name", "OES");
                Writer.WriteElementString("ExtendedName", "Oxford Elbow Score");
                Writer.WriteElementString("DateFormat", "DDMMYYYY");
                Writer.WriteEndElement();

                Writer.WriteStartElement("Header");

                Writer.WriteElementString("InitialQuestion", "On which side of your body is the affected joint, for which you are receiving treatment");

                Writer.WriteStartElement("InitialQuestionAnswers");
                Writer.WriteElementString("Answer", "Left");
                Writer.WriteElementString("Answer", "Right");
                Writer.WriteElementString("Answer", "Both");
                Writer.WriteEndElement();

                Writer.WriteStartElement("QuestionsHeader");
                Writer.WriteElementString("QuestionTitle", "Problems with your Elbow");
                Writer.WriteElementString("Instruction", "If you said 'both', please complete the first questionnaire thinking about the right side. A second questionnaire, for the left side, will follow.");
                Writer.WriteElementString("PerQuestionInstruction", "During the past 4 weeks...");
                Writer.WriteEndElement();

                Writer.WriteEndElement();

                Writer.WriteStartElement("Questions");

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "Have you had difficulty lifting things in your home, such as putting the rubbish, because of your elbow problem?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No difficulty");
                Writer.WriteElementString("Answer", "A little bit of difficulty");
                Writer.WriteElementString("Answer", "Moderate Difficulty");
                Writer.WriteElementString("Answer", "Extreme Difficulty");
                Writer.WriteElementString("Answer", "Impossible to do");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "Have you had difficulty carrying bags of shopping,  because of your elbow problem?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No difficulty");
                Writer.WriteElementString("Answer", "A little bit of difficulty");
                Writer.WriteElementString("Answer", "Moderate Difficulty");
                Writer.WriteElementString("Answer", "Extreme Difficulty");
                Writer.WriteElementString("Answer", "Impossible to do");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "Have you had any difficulty washing yourself all over,  because of your elbow problem?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No difficulty");
                Writer.WriteElementString("Answer", "A little bit of difficulty");
                Writer.WriteElementString("Answer", "Moderate Difficulty");
                Writer.WriteElementString("Answer", "Extreme Difficulty");
                Writer.WriteElementString("Answer", "Impossible to do");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "Have you had any difficulty dressing yourself,  because of your elbow problem?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No difficulty");
                Writer.WriteElementString("Answer", "A little bit of difficulty");
                Writer.WriteElementString("Answer", "Moderate Difficulty");
                Writer.WriteElementString("Answer", "Extreme Difficulty");
                Writer.WriteElementString("Answer", "Impossible to do");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "Have you felt your elbow problem is 'controlling your life'?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No, not at all");
                Writer.WriteElementString("Answer", "Ocassionally");
                Writer.WriteElementString("Answer", "Some Days");
                Writer.WriteElementString("Answer", "Most Days");
                Writer.WriteElementString("Answer", "Every Day");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "How much has your elbow problem been 'on your mind'?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No, no at all");
                Writer.WriteElementString("Answer", "A little bit of the time");
                Writer.WriteElementString("Answer", "Some of the time");
                Writer.WriteElementString("Answer", "Most of the time");
                Writer.WriteElementString("Answer", "All of the time");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "Have you been troubled by pain from your elbow problem in bed at night?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "Not at all");
                Writer.WriteElementString("Answer", "1 or 2 nights");
                Writer.WriteElementString("Answer", "Some nights");
                Writer.WriteElementString("Answer", "Most nights");
                Writer.WriteElementString("Answer", "Every night");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "How often has your elbow pain interfered with your sleeping?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No, not at all");
                Writer.WriteElementString("Answer", "Ocassionally");
                Writer.WriteElementString("Answer", "Some of the time");
                Writer.WriteElementString("Answer", "Most of the time");
                Writer.WriteElementString("Answer", "All of the time");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "How much has your elbow problem interfered with your usual work or every day activities?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "Not at all");
                Writer.WriteElementString("Answer", "A little bit");
                Writer.WriteElementString("Answer", "Moderately");
                Writer.WriteElementString("Answer", "Greatly");
                Writer.WriteElementString("Answer", "Totally");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "Has your elbow problem limited your ability to take part in leisure activities that you enjoy doing?");
                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No, not at all");
                Writer.WriteElementString("Answer", "Ocassionally");
                Writer.WriteElementString("Answer", "Some of the time");
                Writer.WriteElementString("Answer", "Most of the time");
                Writer.WriteElementString("Answer", "All of the time");
                Writer.WriteEndElement();
                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "How would you describe the worst pain you have from your elbow?");

                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No Pain");
                Writer.WriteElementString("Answer", "Mild Pain");
                Writer.WriteElementString("Answer", "Moderate Pain");
                Writer.WriteElementString("Answer", "Severe Pain");
                Writer.WriteElementString("Answer", "Unbearable");
                Writer.WriteEndElement();

                Writer.WriteEndElement();

                Writer.WriteStartElement("Question");
                Writer.WriteElementString("Text", "How would you describe the pain you usually have from your elbow");

                Writer.WriteStartElement("Answers");
                Writer.WriteElementString("Answer", "No Pain");
                Writer.WriteElementString("Answer", "Mild Pain");
                Writer.WriteElementString("Answer", "Moderate Pain");
                Writer.WriteElementString("Answer", "Severe Pain");
                Writer.WriteElementString("Answer", "Unbearable");
                Writer.WriteEndElement();

                Writer.WriteEndElement();

                Writer.WriteEndElement();

                Writer.WriteStartElement("Scores");

                Writer.WriteElementString("MetricScore", "(100 / Maximum Possible Domain Score) * Actual Score");

                Writer.WriteStartElement("Score");
                Writer.WriteElementString("Min", "0");
                Writer.WriteElementString("Max", "19");
                Writer.WriteElementString("Message", "May indicate severe elbow arthritis. It is highly likely that you may well require some form of surgical intervention, contact your family physician for a consult with an Orthopaedic Surgeon");
                Writer.WriteEndElement();

                Writer.WriteStartElement("Score");
                Writer.WriteElementString("Min", "20");
                Writer.WriteElementString("Max", "29");
                Writer.WriteElementString("Message", "May indicate moderate to severe elbow arthritis. See your family physician for an assessment and x-ray. Consider a consult with an Orthopaedic Surgeon");
                Writer.WriteEndElement();

                Writer.WriteStartElement("Score");
                Writer.WriteElementString("Min", "30");
                Writer.WriteElementString("Max", "39");
                Writer.WriteElementString("Message", "May indicate mild to moderate elbow arthritis. Consider seeing your family physician for an assessment and possible x-ray. You may benefit from non surgical treatment, such as excercise, weight loss, and/or anti-inflammatory medication.");
                Writer.WriteEndElement();

                Writer.WriteStartElement("Score");
                Writer.WriteElementString("Min", "40");
                Writer.WriteElementString("Max", "49");
                Writer.WriteElementString("Message", "May indicate satisfactory joint function. May not require any formal treatment.");
                Writer.WriteEndElement();

                Writer.WriteEndElement();

                Writer.WriteStartElement("Domains");

                Writer.WriteStartElement("Domain");
                Writer.WriteElementString("Name", "Pain Domain");
                Writer.WriteElementString("Question", "7");
                Writer.WriteElementString("Question", "8");
                Writer.WriteElementString("Question", "12");
                Writer.WriteElementString("Question", "11");
                Writer.WriteElementString("MaximumScoreDomain", "16");
                Writer.WriteEndElement();

                Writer.WriteStartElement("Domain");
                Writer.WriteElementString("Name", "Elbow Function");
                Writer.WriteElementString("Question", "4");
                Writer.WriteElementString("Question", "3");
                Writer.WriteElementString("Question", "1");
                Writer.WriteElementString("Question", "2");
                Writer.WriteElementString("MaximumScoreDomain", "16");
                Writer.WriteEndElement();

                Writer.WriteStartElement("Domain");
                Writer.WriteElementString("Name", "Social Psychological");
                Writer.WriteElementString("Question", "10");
                Writer.WriteElementString("Question", "6");
                Writer.WriteElementString("Question", "5");
                Writer.WriteElementString("Question", "9");
                Writer.WriteElementString("MaximumScoreDomain", "16");
                Writer.WriteEndElement();

                Writer.WriteEndElement();

                Writer.WriteStartElement("Footer");
                Writer.WriteElementString("Note", "Have you had difficulty lifting things in your home, such as putting the rubbish, because of your elbow problem?");
                Writer.WriteEndElement();

                Writer.WriteEndDocument();
                Writer.Flush();
            }
            #endregion

            // Leer XML
            #region Leer XML

            #region Questionnaire
            XmlDocument reader = new XmlDocument();
            reader.Load("C:\\Users\\August\\Documents\\csharp\\MIXML.xml");

            XmlNodeList listaNodos = reader.SelectNodes("data/Questionnaire");
            XmlNode     Questionnaire;

            for (int i = 0; i < listaNodos.Count; i++)
            {
                Questionnaire = listaNodos.Item(i);

                string Name = Questionnaire.SelectSingleNode("Name").InnerText;

                string ExtendedName = Questionnaire.SelectSingleNode("ExtendedName").InnerText;
                string DateFormat   = Questionnaire.SelectSingleNode("DateFormat").InnerText;
                Label1.Text = Label1.Text + "<br/>" + Name + "<br/>" + ExtendedName + "<br/>" + DateFormat + "<br/>";
            }
            #endregion
            #region Header

            listaNodos = reader.SelectNodes("data/Header");
            XmlNode Header;

            for (int i = 0; i < listaNodos.Count; i++)
            {
                Header = listaNodos.Item(i);

                string InitialQuestion = Header.SelectSingleNode("InitialQuestion").InnerText;
                Label1.Text = Label1.Text + InitialQuestion + "<br/>";
                XmlNodeList InitialQuestionAnswers = Header.SelectSingleNode("InitialQuestionAnswers").SelectNodes("Answer");
                XmlNode     Answer;

                for (int f = 0; f < InitialQuestionAnswers.Count; f++)
                {
                    Answer = InitialQuestionAnswers.Item(f);

                    string CurrentAnswer = Answer.InnerText;
                    Label1.Text = Label1.Text + CurrentAnswer + "<br/>";
                }
            }
            #endregion
            #region QuestionsHeader
            XmlNodeList listaQuestionsHeader = reader.SelectNodes("data/QuestionsHeader");
            XmlNode     QuestionsHeader;

            for (int i = 0; i < listaQuestionsHeader.Count; i++)
            {
                QuestionsHeader = listaQuestionsHeader.Item(i);

                string QuestionTitle = QuestionsHeader.SelectSingleNode("QuestionTitle").InnerText;

                string Instruction            = QuestionsHeader.SelectSingleNode("Instruction").InnerText;
                string PerQuestionInstruction = QuestionsHeader.SelectSingleNode("PerQuestionInstruction").InnerText;
                Label1.Text = Label1.Text + QuestionTitle + "<br/>" + Instruction + "<br/>" + PerQuestionInstruction + "<br/>";
            }
            #endregion
            #region Questions

            listaNodos = reader.SelectNodes("data/Questions");
            XmlNode QQuestion;

            // Label1.Text = listaNodos.Count.ToString();
            for (int i = 0; i < listaNodos.Count; i++)
            {
                QQuestion = listaNodos.Item(i);

                XmlNodeList Questions = QQuestion.SelectNodes("Question");

                XmlNode Question;
                XmlNode Answer;

                for (int f = 0; f < Questions.Count; f++)
                {
                    Question = Questions.Item(f);

                    string CurrentQuestion = Question.SelectSingleNode("Text").InnerText;
                    Label1.Text = Label1.Text + CurrentQuestion + "<br/>";
                    XmlNodeList CurrentQuestionAnswers = Question.SelectSingleNode("Answers").SelectNodes("Answer");

                    for (int g = 0; g < CurrentQuestionAnswers.Count; g++)
                    {
                        Answer = CurrentQuestionAnswers.Item(g);
                        string CurrentAnswer = Answer.InnerText;
                        Label1.Text = Label1.Text + CurrentAnswer + "<br/>";
                    }
                }
            }
            #endregion
            #region Scores
            listaNodos = reader.SelectNodes("data/Scores");
            XmlNode Scores;

            for (int i = 0; i < listaNodos.Count; i++)
            {
                Scores = listaNodos.Item(i);

                string MetricScore = Scores.SelectSingleNode("MetricScore").InnerText;
                Label1.Text = Label1.Text + MetricScore + "<br/>";
                XmlNodeList SScores = Scores.SelectNodes("Score");
                XmlNode     Score;

                for (int f = 0; f < SScores.Count; f++)
                {
                    Score = SScores.Item(f);

                    string Min     = Score.SelectSingleNode("Min").InnerText;
                    string Max     = Score.SelectSingleNode("Max").InnerText;
                    string Message = Score.SelectSingleNode("Message").InnerText;
                    Label1.Text = Label1.Text + Min + "<br/>" + Max + "<br/>" + Message + "<br/>";
                }
            }
            #endregion

            #region Domains
            listaNodos = reader.SelectNodes("data/Domains");
            XmlNode Domain;

            for (int i = 0; i < listaNodos.Count; i++)
            {
                Domain = listaNodos.Item(i);

                XmlNodeList DomainName = Domain.SelectSingleNode("Domain").SelectNodes("Name");
                XmlNode     DName;
                for (int f = 0; f < DomainName.Count; f++)
                {
                    DName = DomainName.Item(f);
                    string CurrentDomain = DName.InnerText;
                    Label1.Text = Label1.Text + CurrentDomain + "<br/>";
                }

                XmlNodeList DQuestion = Domain.SelectSingleNode("Domain").SelectNodes("Question");
                XmlNode     DomainQuestion;

                for (int f = 0; f < DQuestion.Count; f++)
                {
                    DomainQuestion = DQuestion.Item(f);

                    string CurrentDomainQuestion = DomainQuestion.InnerText;
                    Label1.Text = Label1.Text + CurrentDomainQuestion + "<br/>";
                }

                XmlNodeList MaximumScoreDomain = Domain.SelectSingleNode("Domain").SelectNodes("MaximumScoreDomain");
                XmlNode     MaxScoreDomain;

                for (int f = 0; f < MaximumScoreDomain.Count; f++)
                {
                    MaxScoreDomain = MaximumScoreDomain.Item(f);

                    string CurrentMaxScoreDomain = MaxScoreDomain.InnerText;
                    Label1.Text = Label1.Text + CurrentMaxScoreDomain + "<br/>";
                }
            }
            #endregion

            #region Footer
            listaNodos = reader.SelectNodes("data/Footer");
            XmlNode Footer;

            for (int i = 0; i < listaNodos.Count; i++)
            {
                Footer = listaNodos.Item(i);

                string CurrentFooterNode = Footer.SelectSingleNode("Note").InnerText;
                Label1.Text = Label1.Text + CurrentFooterNode + "<br/>";
            }
            #endregion

            #endregion
        }