コード例 #1
0
    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/>";
                    }
                }
            }
        }
    }
コード例 #2
0
    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;
        }
    }