Пример #1
0
    protected void ButtonSave_Click(object sender, EventArgs e)
    {
        ValidationMessage.Text     = "";
        ValidationMessage.CssClass = "LabelValidationMessageStyle";

        if (TextBoxDescription.Text.Trim().Length == 0)
        {
            ValidationMessage.Text    += "Entrer le Nom du Questionnaire<br/>";
            ValidationMessage.CssClass = "LabelValidationMessageErrorStyle";
        }

        if (LabelNom.Text.Trim().Length == 0 ||
            LabePrenom.Text.Trim().Length == 0 ||
            LabelSociete.Text.Trim().Length == 0
            )
        {
            ValidationMessage.Text    += "Choisir un membre<br/>";
            ValidationMessage.CssClass = "LabelValidationMessageErrorStyle";
        }

        if (ValidationMessage.Text != "")
        {
            ValidationMessage.Visible = true;
            return;
        }

        // C'est une mise a jour
        if (QuestionnaireID != 0)
        {
            Questionnaire questionnaire = Questionnaire.GetQuestionnaire(QuestionnaireID);
            questionnaire.Description = TextBoxDescription.Text;
            questionnaire.Valider     = CheckBoxValider.Checked;
            questionnaire.Fin         = CheckBoxFin.Checked;
            questionnaire.Anonyme     = CheckBoxAnonyme.Checked;
            HtmlInputCheckBox checkBox = (HtmlInputCheckBox)PopupLabelAnonymat.FindControl("CheckBoxToggleLabel");
            if (checkBox.Checked)
            {
                questionnaire.Anonymat = checkBox.Checked;
                checkBox.Disabled      = true;
            }
            questionnaire.Bloque   = CheckBoxBloque.Checked;
            questionnaire.Publier  = CheckBoxPublierQuestionnaire.Checked;
            questionnaire.Compteur = CheckBoxAfficherCompteur.Checked;

            MemberInfo membre = MemberInfo.GetMemberInfo(LabelNom.Text, LabePrenom.Text);
            questionnaire.MembreGUID = membre.MembreGUID;

            int status = Questionnaire.Update(questionnaire);
            if (status == 1)
            {
                ValidationMessage.Text += "Questionnaire mis à jour correctement.<br/>";
            }
            else if (status == 2)
            {
                ValidationMessage.Text    += "Erreur sur la mise à jour du Questionnaire, il n'existe pas.<br/>";
                ValidationMessage.CssClass = "LabelValidationMessageErrorStyle";
            }
            else
            {
                ValidationMessage.Text    += "Erreur sur la mise à jour du Questionnaire.<br/>";
                ValidationMessage.CssClass = "LabelValidationMessageErrorStyle";
            }

            // Forcer les Questionnaires a se recharger depuis la Base de Donnees
            SessionState.Questionnaires = null;
            // BUG10112009
            //SessionState.Questionnaire = null;
            SessionState.Questionnaire = questionnaire;
        }
        else // C'est une creation
        {
            Questionnaire questionnaire = new Questionnaire();
            questionnaire.Description = TextBoxDescription.Text;
            questionnaire.Style       = "Défaut.xml";
            questionnaire.Valider     = CheckBoxValider.Checked;
            questionnaire.Fin         = CheckBoxFin.Checked;
            questionnaire.Anonyme     = CheckBoxAnonyme.Checked;
            HtmlInputCheckBox checkBox = ( HtmlInputCheckBox )PopupLabelAnonymat.FindControl("CheckBoxToggleLabel");
            if (checkBox.Checked)
            {
                questionnaire.Anonymat = checkBox.Checked;
                checkBox.Disabled      = true;
            }
            questionnaire.Bloque       = CheckBoxBloque.Checked;
            questionnaire.Publier      = CheckBoxPublierQuestionnaire.Checked;
            questionnaire.DateCreation = DateTime.Now;
            questionnaire.MembreGUID   = new Guid(HiddenFieldMembreGUID.Value);
            questionnaire.CodeAcces    = int.Parse(LabelCodeAcces.Text);
            questionnaire.Compteur     = CheckBoxAfficherCompteur.Checked;

            // Tester les limitations avant d'ajouter le questionnaire
            if (SessionState.Limitations.LimiteQuestionnaires)
            {
                Tools.PageValidation("La limite du nombre de Questionnaires : " + SessionState.Limitations.NombreQuestionnaires + " est atteinte.<br/>Contactez l'administrateur.");
            }

            int status = Questionnaire.Create(questionnaire);
            if (status == 1)
            {
                ValidationMessage.Text += "Questionnaire créé correctement.<br/>";

                // Maintenant on peut ajouter des Questions
                ButtonAjouterQuestion.Visible = true;
                ButtonSave.Visible            = false;

                // Prendre en compte le nouveau Questionnaire
                SessionState.Questionnaires.Add(questionnaire);
                SessionState.Questionnaire = questionnaire;
                SessionState.Limitations.AjouterQuestionnaire();
            }
            else if (status == 2)
            {
                ValidationMessage.Text    += "Le Questionnaire existe déjà.<br>";
                ValidationMessage.CssClass = "LabelValidationMessageErrorStyle";
            }
            else
            {
                ValidationMessage.Text    += "Erreur sur la création du Questionnaire<br/>";
                ValidationMessage.CssClass = "LabelValidationMessageErrorStyle";
            }
        }

        ValidationMessage.Visible = true;
    }
Пример #2
0
    protected void Page_Load(object sender, System.EventArgs e)
    {
        if (IsPostBack == false)
        {
            // Edition d'un Questionnaire existant
            if (Request.QueryString["QuestionnaireID"] != null || Request.QueryString["Edition"] != null)
            {
                Questionnaire questionnaire = new Questionnaire();

                if (Request.QueryString["Edition"] != null)
                {
                    // Choisir le premier Questionnaire a la place de l'utilisateur
                    if (SessionState.Questionnaire == null && SessionState.Questionnaires.Count > 0)
                    {
                        SessionState.Questionnaire = SessionState.Questionnaires[0];
                    }
                    if (SessionState.Questionnaire == null)
                    {
                        // Formulaire en mode creation
                        Response.Redirect("~/Questionnaire/Edit.aspx");
                    }

                    QuestionnaireID = SessionState.Questionnaire.QuestionnaireID;
                    questionnaire   = Questionnaire.GetQuestionnaire(QuestionnaireID);
                }

                if (Request.QueryString["QuestionnaireID"] != null)
                {
                    QuestionnaireID            = int.Parse(Request.QueryString["QuestionnaireID"]);
                    questionnaire              = Questionnaire.GetQuestionnaire(QuestionnaireID);
                    SessionState.Questionnaire = questionnaire;
                }

                LabelTitre.Text    = "Editer un Questionnaire";
                ButtonSave.Text    = "Sauver";
                ButtonSave.ToolTip = "Sauvegarder les modifications";

                MemberInfo membre = MemberInfo.Get(questionnaire.MembreGUID);
                HiddenFieldMembreGUID.Value = membre.MembreGUID.ToString();
                string lien = "";

                // Invitation vers le formulaire Contact/Register.aspx Mode.Complet "1"
                HyperLinkInvitationEnregistrementComplet.NavigateUrl = "~/Contact/Register.aspx?uid=" + membre.MembreGUID + "&qid=" + questionnaire.QuestionnaireID.ToString() + "&mod=1";
                HyperLinkInvitationEnregistrementComplet.Visible     = true; // Global.SettingsXml.EnregistrerContactAnonyme;
                lien = Utils.WebSiteUriWhithOutQuery.ToLower() + "/contact/register.aspx?uid=" + membre.MembreGUID + "&qid=" + questionnaire.QuestionnaireID.ToString() + "&mod=1";
                TextBoxInvitationEnregistrementComplet.Text = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", lien, "Accès au Questionnaire");

                // Invitation vers le formulaire Contact/Register.aspx Mode.CompletEmail mais pas de Telephone "2" mode par defaut
                HyperLinkInvitationEnregistrementCompletEmail.NavigateUrl = "~/Contact/Register.aspx?uid=" + membre.MembreGUID + "&qid=" + questionnaire.QuestionnaireID.ToString();
                HyperLinkInvitationEnregistrementCompletEmail.Visible     = true; // Global.SettingsXml.EnregistrerContactAnonyme;
                lien = Utils.WebSiteUriWhithOutQuery.ToLower() + "/contact/register.aspx?uid=" + membre.MembreGUID + "&qid=" + questionnaire.QuestionnaireID.ToString();
                TextBoxInvitationEnregistrementCompletEmail.Text = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", lien, "Accès au Questionnaire");

                // Invitation vers le formulaire Contact/Register.aspx Mode.Email "4"
                HyperLinkInvitationEnregistrementEmail.NavigateUrl = "~/Contact/Register.aspx?uid=" + membre.MembreGUID + "&qid=" + questionnaire.QuestionnaireID.ToString() + "&mod=4";
                HyperLinkInvitationEnregistrementEmail.Visible     = true; // Global.SettingsXml.EnregistrerContactAnonyme;
                lien = Utils.WebSiteUriWhithOutQuery.ToLower() + "/contact/register.aspx?uid=" + membre.MembreGUID + "&qid=" + questionnaire.QuestionnaireID.ToString() + "&mod=4";
                TextBoxInvitationEnregistrementEmail.Text = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", lien, "Accès au Questionnaire");

                // Invitation vers le formulaire Contact/Register.aspx Mode.Telephone "5"
                HyperLinkInvitationEnregistrementTelephone.NavigateUrl = "~/Contact/Register.aspx?uid=" + membre.MembreGUID + "&qid=" + questionnaire.QuestionnaireID.ToString() + "&mod=5";
                HyperLinkInvitationEnregistrementTelephone.Visible     = true; // Global.SettingsXml.EnregistrerContactAnonyme;
                lien = Utils.WebSiteUriWhithOutQuery.ToLower() + "/contact/register.aspx?uid=" + membre.MembreGUID + "&qid=" + questionnaire.QuestionnaireID.ToString() + "&mod=5";
                TextBoxInvitationEnregistrementTelephone.Text = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", lien, "Accès au Questionnaire");

                // Inviation vers le formulaire authentification Contact/Login.aspx
                HyperLinkInvitationEmailCodeAcces.NavigateUrl = "~/Contact/Login.aspx"; //?guid=" + membre.MembreGUID;
                HyperLinkInvitationEmailCodeAcces.Visible     = true;                   // Global.SettingsXml.EnregistrerContactAnonyme;
                lien = Utils.WebSiteUriWhithOutQuery.ToLower() + "/contact/login.aspx";
                TextBoxInvitationEmailCodeAcces.Text = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", lien, "Accès au Questionnaire");

                // Inviation vers le formulaire authentificationContact/Login.aspx Mode.Telephone "2"
                HyperLinkInvitationTelephoneCodeAcces.NavigateUrl = "~/Contact/Login.aspx?mod=2"; //?guid=" + membre.MembreGUID;
                HyperLinkInvitationTelephoneCodeAcces.Visible     = true;                         // Global.SettingsXml.EnregistrerContactAnonyme;
                lien = Utils.WebSiteUriWhithOutQuery.ToLower() + "/contact/login.aspx?mod=2";
                TextBoxInvitationTelehponeCodeAcces.Text = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", lien, "Accès au Questionnaire");

                // Lien vers les statistiques du questionnaire en cas de publication
                HyperLinkPublication.NavigateUrl = "~/Questionnaire/Publication.aspx?CodeAcces=" + questionnaire.CodeAcces.ToString();
                lien = Utils.WebSiteUriWhithOutQuery.ToLower() + "/questionnaire/publication.aspx?codeacces=" + questionnaire.CodeAcces.ToString();
                TextBoxPublication.Text = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", lien, "Accès au Statistiques");

                TextBoxDescription.Text = questionnaire.Description;
                CheckBoxValider.Checked = questionnaire.Valider;
                CheckBoxFin.Checked     = questionnaire.Fin;
                CheckBoxAnonyme.Checked = questionnaire.Anonyme;
                CheckBoxBloque.Checked  = questionnaire.Bloque;
                CheckBoxPublierQuestionnaire.Checked = questionnaire.Publier;
                CheckBoxAfficherCompteur.Checked     = questionnaire.Compteur;
                LabelDateCreation.Text            = questionnaire.DateCreation.ToString();
                LabelCodeAcces.Text               = questionnaire.CodeAcces.ToString();
                LabelNom.Text                     = membre.Nom;
                LabePrenom.Text                   = membre.Prenom;
                LabelSociete.Text                 = membre.Societe;
                DropDownListMembre.SelectedMembre = membre.Nom + "/" + membre.Prenom + "/" + membre.Societe;
                LabelMembre.Text                  = membre.Nom + "/" + membre.Prenom + "/" + membre.Societe;

                HtmlInputCheckBox checkBox = ( HtmlInputCheckBox )PopupLabelAnonymat.FindControl("CheckBoxToggleLabel");
                checkBox.Checked  = questionnaire.Anonymat;
                checkBox.Disabled = questionnaire.Anonymat;

                TrVoletCodeAcces.Visible        = true;
                PanelModeEnregistrement.Visible = true;
                PanelInviationFormulaireEnregistrement.Visible   = true;
                PanelInviationFormulaireAuthentification.Visible = true;
                PanelPublication.Visible           = true;
                PanelCloture.Visible               = true;
                PanelCompteurQuestion.Visible      = true;
                ImageButtonExpandQuestion.ImageUrl = "~/Images/collapse.jpg";
            }
            // Creation d'un nouveau Questionnaire
            else
            {
                LabelTitre.Text             = "Créer un Questionnaire";
                QuestionnaireID             = 0;
                HiddenFieldMembreGUID.Value = "";
                ButtonCopier.Visible        = false;
                ButtonSupprimer.Visible     = false;
                ButtonSave.Text             = "Créer";
                ButtonSave.ToolTip          = "Créer le Questionnaire";

                TrVoletCodeAcces.Visible        = false;
                PanelPublication.Visible        = false;
                PanelCompteurQuestion.Visible   = false;
                PanelModeEnregistrement.Visible = false;
                PanelInviationFormulaireEnregistrement.Visible   = false;
                PanelInviationFormulaireAuthentification.Visible = false;
                PanelCloture.Visible = false;

                // On ne peut pas ajouter des Questions
                ButtonAjouterQuestion.Visible = false;

                // Creation d'un questionnaire par un Client
                if (User.IsInRole("Client"))
                {
                    HiddenFieldMembreGUID.Value = SessionState.MemberInfo.MembreGUID.ToString();
                    MemberInfo membre = SessionState.MemberInfo;
                    LabelMembre.Text = membre.Nom + "/" + membre.Prenom + "/" + membre.Societe;

                    // Afficher une heure approximative de creation
                    LabelDateCreation.Text = DateTime.Now.ToString();

                    ArrayList codes = QuestionnaireDAL.GetCodeAccessAll();
                    LabelCodeAcces.Text = Tools.CalculCodeAcces(membre.MembreID, codes).ToString();

                    LabelNom.Text     = membre.Nom;
                    LabePrenom.Text   = membre.Prenom;
                    LabelSociete.Text = membre.Societe;
                }
            }

            TrVoletListQuestionnaire.Visible = false;
            ValidationMessage.Text           = "";
        }

        if (User.IsInRole("Administrateur"))
        {
            PanelAdmin.Visible = true;
            // Detourner Bloque pour cloture du questionnaire
            //LabelBloque.Visible = true;
            //CheckBoxBloque.Visible = true;

            // Pour Creer un Questionnaire, l'Admin doit choisir un Membre
            if (QuestionnaireID == 0)
            {
                DropDownListMembre.AutoPostBack          = true;
                DropDownListMembre.SelectedIndexChanged += new EventHandler(DropDownListMembre_SelectedIndexChanged);
            }
        }

        TableLienEnregistrement.Visible = CheckBoxAnonyme.Checked;
        TableLienPublication.Visible    = CheckBoxPublierQuestionnaire.Checked;

        SqlDataSourceMembreQuestionnaire.SelectCommand = SelectCommand();
    }