protected void ButtonAjouterQuestion_Click(object sender, EventArgs e) { LabelValidationMessage.Text = ""; for (int i = 1; i <= NombreQuestionEnchainee; i++) { string tableQuestionEnchaineeID = "TableQuestionEnchainee" + i.ToString(); string userControlID = "Question" + i.ToString(); System.Web.UI.UserControl control = (System.Web.UI.UserControl)PanelQuestions.FindControl(userControlID); Table tableQuestionEnchainee = ( Table )control.FindControl(tableQuestionEnchaineeID); // Petite precaution toujours aussi dur d'ecrire ce code if (tableQuestionEnchainee == null) { break; } TextBox textBox = ( TextBox )tableQuestionEnchainee.FindControl("TextBoxQuestionEnchainee"); if (string.IsNullOrEmpty(textBox.Text.Trim())) { LabelValidationMessage.Visible = true; LabelValidationMessage.Text += "Donner un libellé pour la Question : " + i.ToString() + "<br/>"; continue; } DropDownList dropDownList = ( DropDownList )tableQuestionEnchainee.FindControl("DropDownListTypeQuestionReponse"); if (dropDownList.SelectedValue == "-1") { LabelValidationMessage.Visible = true; LabelValidationMessage.Text += "Choisir un type de Question pour la Question : " + textBox.Text + "<br/>"; continue; } CheckBox checkBox = ( CheckBox )tableQuestionEnchainee.FindControl("CheckBoxQuestionObligatoire"); PollQuestion question = new PollQuestion(); // Premiere Question, est-ce un tableau ? if (i == 1) { if (TextBoxTitreTableau.Text.Trim() != "") { question.Tableau = TextBoxTitreTableau.Text.Trim(); } if (TextBoxPageTableau.Text.Trim() != "") { question.SautPage = TextBoxPageTableau.Text.Trim(); } } // Derniere Question, terminer le tableau if (i == NombreQuestionEnchainee) { if (TextBoxTitreTableau.Text.Trim() != "") { question.Tableau = Tableau.Fin; } } question.CreationDate = DateTime.Now; question.Question = textBox.Text.Trim(); question.Obligatoire = checkBox.Checked; question.ChoixMultiple = TypeQuestionReponse.GetTypeQuestion(dropDownList.SelectedValue); question.QuestionnaireID = SessionState.Questionnaire.QuestionnaireID; question.MembreGUID = SessionState.Questionnaire.MembreGUID; question.Societe = String.Empty; question.Instruction = String.Empty; question.Message = String.Empty; PollQuestionCollection pollQuestions = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID); question.Rank = pollQuestions.MaxRank() + 1; // Tester les limitations avant d'ajouter la question if (SessionState.Limitations.LimiteQuestions) { Tools.PageValidation("La limite du nombre de Questions : " + SessionState.Limitations.NombreQuestions + " est atteinte.<br/>Contactez l'administrateur."); } int status = PollQuestion.Create(question); if (status != 0) { LabelValidationMessage.Visible = true; LabelValidationMessage.Text += "Erreur à la création de la Question.<br/>"; } else { SessionState.Limitations.AjouterQuestion(); LabelValidationMessage.Visible = true; LabelValidationMessage.Text += "Question crée correctement : " + question.Question + "<br/>"; } // Creer les Reponses a la Question TextBox textBoxReponses = ( TextBox )tableQuestionEnchainee.FindControl("TextBoxReponses"); if (string.IsNullOrEmpty(textBoxReponses.Text.Trim()) == false) { int rank = 1; string[] reponsesSplit = textBoxReponses.Text.Trim().Split(';'); foreach (string rep in reponsesSplit) { PollAnswer reponse = new PollAnswer(rep.Trim()); reponse.PollQuestionId = question.PollQuestionId; reponse.TypeReponse = TypeQuestionReponse.GetTypeReponse(dropDownList.SelectedValue); //reponse.Obligatoire = cbxObligatoire.Checked; on ne sait pas faire reponse.Rank = rank; int status2 = PollAnswer.Create(reponse); rank += 1; if (status2 != 0) { LabelValidationMessage.Visible = true; LabelValidationMessage.Text += "Erreur à la création de la Réponse : " + rep + "<br/>"; } else { LabelValidationMessage.Visible = true; LabelValidationMessage.Text += " Réponse crée correctement : " + rep + "<br/>"; } } } } }
protected void JoinBTN_Click(object sender, EventArgs e) { //only validate if user has agreed to terms if (consentCheck.Checked) { DateTime defaultTime = Convert.ToDateTime("01-01-1800 12:00:00"); CSS RequestDirector = new CSS(); //check all open events to match event Key //return Event ID //get event info for key input Event currentEvent = new Event(); currentEvent.EventID = ((Event)Session["Event"]).EventID; currentEvent = RequestDirector.GetEvent(currentEvent); currentEvent.CustomQuestions = RequestDirector.GetQuestions(currentEvent.EventID); //check if event key exists if (currentEvent.EventKey != default(string)) { //if event end time is not default value, event is over. Can not join if (currentEvent.EventKey != "ZZZZ") { //create new evaluator Evaluator activeEvaluator = new Evaluator(); //get name if supplied if (tbName.Text == "") { activeEvaluator.Name = "Default"; } else { activeEvaluator.Name = tbName.Text; } //get criteria if selected if (DDLCrit.Items.Count > 0) { activeEvaluator.Criteria = DDLCrit.SelectedValue; } else { activeEvaluator.Criteria = "Overall Quality"; } activeEvaluator = RequestDirector.CreateEvaluator(activeEvaluator); foreach (Question q in currentEvent.CustomQuestions) { q.EvaluatorID = activeEvaluator.EvaluatorID; string responseTBID = string.Format("tb{0}", q.QID); TextBox tb = (TextBox)(PanelQuestions.FindControl(responseTBID)); q.ResponseText = tb.Text; RequestDirector.AddResponse(q); } //redirect to evaluate page if evaluator is created if (activeEvaluator.EvaluatorID != default(int)) { //create consent cookie if there isn't one var consentCookie = Request.Cookies["ConsentCookie"]; if (consentCookie == null) { HttpCookie newConsent = new HttpCookie("ConsentCookie", "true"); //set cookie to expire in 100 days newConsent.Expires = DateTime.UtcNow.AddDays(100); Response.Cookies.Add(newConsent); } //Evaluation eval = new Evaluation(defaultTime, 999, activeEvaluator.EvaluatorID, currentEvent.EventID); Evaluation eval = new Evaluation(DateTime.Now.ToUniversalTime(), 999, activeEvaluator.EvaluatorID, currentEvent.EventID); RequestDirector.AddEvaluation(eval); Session["Event"] = currentEvent; Session["Evaluator"] = activeEvaluator; Response.Redirect("EvaluateEvent.aspx"); } else { //error creating evaluator ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('There was an error joining this event.')", true); } } else { } } else { } } else { consentCheck.ForeColor = System.Drawing.Color.Red; } }