예제 #1
0
        public Questionnaire()
        {
            id  = 1;
            dsn = "Server=LOUCAZ\\SQLEXPRESS;User Id=user;Password=1234;";
            QuestionnairePath = "@C:\\Users\\Loucaz\\source\\repos\\Quiz\\WebApplication3\\jquizzy\\init.js";
            QuestionnaireUrl  = "@https://localhost:44393/jquizzy/jquizzy.htm";
            //dsn = Context.Application["dsn"].ToString();
            //ChargeProprietes((DataTable)Context.Application["composants"]);

            //Chargement de données
            DataOlinwone = new DataServices(dsn);
            //Charge le questionnaire
            MonQuestionnaire = ChargeData(Requetes.Questionnaire, id);
            //Charge les questions
            MesQuestions = ChargeData(Requetes.Questions, id);
            //Charge les options
            MesReponses = ChargeData(Requetes.Options, id);
            //Fermer la connexion
            DataOlinwone.CloseConnection();

            if (CheckChargement)
            {
                //Traitement des données
                IList <Question> json = new List <Question> {
                };

                foreach (DataRow Item in MesQuestions.Rows)
                {
                    Question result = new Question();
                    result.question = Item["question_valeur"].ToString();
                    DataRow[] answers = MesReponses.Select($"option_question=" + Item["question_id"]);

                    foreach (DataRow answer in answers)
                    {
                        result.answers.Add(answer["option_valeur"].ToString());
                        if ((bool)answer["option_correct"])
                        {
                            result.correctAnswer = (int)answer["option_rang"];
                        }
                    }
                    //Structure les questions
                    json.Add(result);
                }

                //Structure les conclusions
                DataRow MesConclusions = MonQuestionnaire.Rows[0];

                Conclusion conclusion = new Conclusion
                {
                    perfect   = MesConclusions["questionnaire_conclusion1"].ToString(),
                    excellent = MesConclusions["questionnaire_conclusion2"].ToString(),
                    good      = MesConclusions["questionnaire_conclusion3"].ToString(),
                    average   = MesConclusions["questionnaire_conclusion4"].ToString(),
                    bad       = MesConclusions["questionnaire_conclusion5"].ToString(),
                    poor      = MesConclusions["questionnaire_conclusion6"].ToString(),
                    worst     = MesConclusions["questionnaire_conclusion7"].ToString()
                };

                //Génération du fichier
                string jsonSerializedObj = "var init = { 'questions':" + JsonConvert.SerializeObject(json) + ",'resultComments' :" + JsonConvert.SerializeObject(conclusion) + "};";
                //generation automatiquement le nom
                File.WriteAllText(QuestionnairePath, jsonSerializedObj);
            }
            Text = $"<a href=\"" + QuestionnaireUrl + "\">Quiz</a>";
        }