// Pour un utilisateur non authentifie
    // ou pour l'administrateur qui cherche a connaitre les infos du membre
    public Limitation(Guid membreGUID)
    {
        _Reponses = MemberInfo.GetMemberRepondantCount(membreGUID);

        QuestionnaireCollection qc = QuestionnaireCollection.GetQuestionnaireMembre(membreGUID);

        _Questionnaires = qc.Count;
        foreach (Questionnaire q in qc)
        {
            // Interviewes
            PersonneCollection personnes = PersonneCollection.GetQuestionnaire(q.QuestionnaireID);
            _Interviewes += personnes.Count;

            PollQuestionCollection repCollection = PollQuestionCollection.GetByQuestionnaire(q.QuestionnaireID);
            _Questions += repCollection.Count;
        }

        MemberInfo member = MemberInfo.GetMemberInfo(membreGUID);

        _NombreQuestionnaires = member.LimiteQuestionnaires;
        _NombreReponses       = member.LimiteReponses;
        _NombreInterviewes    = member.LimiteInterviewes;
        _NombreQuestions      = member.LimiteQuestions;

        MembershipUser user = Membership.GetUser(membreGUID);

        userIsAdministrateur = Roles.IsUserInRole(user.UserName, "Administrateur");
    }
        // Charger le composant a partir de la Base de Donnees
        public void Load()
        {
            Items.Clear();
            _CodeAcces.Clear();
            _QuestionnaireID.Clear();

            QuestionnaireCollection qc = SessionState.Questionnaires;

            foreach (Questionnaire q in qc)
            {
                ListItem li = new ListItem(q.Description + ":" + q.CodeAcces);
                Items.Add(li);
                _CodeAcces.Add(q.CodeAcces);
                _QuestionnaireID.Add(q.QuestionnaireID);
            }

            if (Items.Count <= 0)
            {
                Items.Add(new ListItem(_defaultText));
            }

            if (SessionState.Questionnaire != null)   // Selectionne par l'utilisateur
            {
                ListItem item = Items.FindByValue(SessionState.Questionnaire.Description + ":" + SessionState.Questionnaire.CodeAcces);
                if (item != null)
                {
                    item.Selected = true; // Positionne SelectedIndex
                }
            }
            else
            {
                this.SelectedIndex = 0;
            }
        }
Example #3
0
 public void SetQuestionnaireResults(Dictionary <string, bool> questionnaireResults)
 {
     QuestionnaireCollection.Clear();
     foreach (KeyValuePair <string, bool> pair in questionnaireResults)
     {
         QuestionnaireCollection.Add(pair.Key, pair.Value);
     }
 }
Example #4
0
    // AME20100330
    protected override void OnPreRender(EventArgs e)
    {
        Trace.Warn("UserControl_QuestionnaireExempleControl:OnPreRender");
        base.OnPreRender(e);

        if (Page.IsPostBack == false)
        {
            // Ajouter les questionnaires du membre dans la liste en bleu
            // Pour qu'il puisse s'en servir comme exemples
            QuestionnaireCollection qc = QuestionnaireCollection.GetQuestionnaireMembre(SessionState.MemberInfo.MembreGUID);
            foreach (Questionnaire q in qc)
            {
                ListItem li = new ListItem(q.Description + ":" + q.CodeAcces);
                li.Attributes.Add("style", "color:blue");
                DropDownListQuestionnaire.Items.Add(li);
            }
        }
    }
        private void ConstruireItems()
        {
            Items.Clear();

            QuestionnaireCollection qc = new QuestionnaireCollection();

            if (_selectedMembreGUID != Guid.Empty)
            {
                qc = QuestionnaireCollection.GetQuestionnaireMembre(_selectedMembreGUID);
            }
            else
            {
                qc = QuestionnaireCollection.GetAll();
            }
            foreach (Questionnaire q in qc)
            {
                ListItem li = new ListItem(q.Description + ":" + q.CodeAcces);
                Items.Add(li);
            }
        }
    protected void ButtonExportMemberData_Click(object sender, EventArgs e)
    {
        EventFinExport.Reset();
        FinTraitement           = false;
        MessageExport           = "";
        LabelMessageExport.Text = "";
        //ButtonTelechargerMemberData.Visible = false;
        //ButtonSupprimerMemberData.Visible = false;

        if (User.IsInRole("Administrateur") && MemberInfoData == null)
        {
            LabelValidationMessageAdmin.Text    = "Désolé Admin, sélectionnez un Membre pour exporter des données.";
            LabelValidationMessageAdmin.Visible = true;
            return;
        }

        if (CheckBoxExportVotes.Checked && CheckBoxExportIntervieves.Checked == false)
        {
            CheckBoxExportIntervieves.Checked = true;
            LabelMessageExport.Text           = "Vous ne pouvez pas exporter les votes sans exporter les interviewés.";
            LabelMessageExport.Visible        = true;
            return;
        }

        int questionnaireID = 0;

        // Soit le fichier a le nom du membre pour un export total soit le nom du questionnaire
        string nomFichier = MemberInfoData.NomUtilisateur;

        // Un seul Questionnaire est selectionne
        if (DropDownListQuestionnaire.SelectedIndex > 0)
        {
            QuestionnaireCollection qc = QuestionnaireCollection.GetQuestionnaireMembre(MemberInfoData.MembreGUID);
            questionnaireID            = qc[DropDownListQuestionnaire.SelectedIndex - 1].QuestionnaireID;
            SessionState.Questionnaire = qc[DropDownListQuestionnaire.SelectedIndex - 1];
            // Le nom du fichier est le nom du questionnnaire selectionne
            nomFichier = qc[DropDownListQuestionnaire.SelectedIndex - 1].Description;
        }
        nomFichier = Strings.RemoveIllegalCharacters(nomFichier);

        string fileName = HttpContext.Current.Request.MapPath(repertoire);

        fileName += nomFichier;
        fileName += ".xml";

        // Donner l'info au Bouton ButtonAfficherResultatsExport
        NomFichier = nomFichier + ".xml";

        // -----------------------------
        // ThreadPool.QueueUserWorkItem
        // -----------------------------

        EventFinImport.Reset();
        FinTraitement          = false;
        ValidationMessage.Text = "";
        MessageExport          = "";

        PanelExportAttente.Visible = true;
        ThreadPool.QueueUserWorkItem(delegate { ExporterFichier(questionnaireID, fileName); });

        if (EventFinExport.WaitOne(10000, false))
        {
            PanelExportAttente.Visible = false;

            MessageExport += "Traitement terminé.<br/>";
            string link = Utils.WebSiteUri + repertoire.Substring(1) + NomFichier;
            string lien = string.Format("<a href=\"{0}\" target=\"_blank\" >{1}</a>", link, NomFichier);
            MessageExport += "<br/>Pour télécharger le fichier, cliquez sur le lien : " + lien + "<br/>";
        }
        else
        {
            MessageExport += "Traitement non terminé.<br/>";
        }

        LabelMessageExport.Visible  = true;
        LabelMessageExport.Text    += MessageExport;
        LabelMessageExport.CssClass = "LabelValidationMessageStyle";
    }
Example #7
0
    // BUG10092009 static Guid MembreGUID = Guid.Empty;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack == false)
        {
            if (Request.QueryString["MembreGUID"] == null)
            {
                Response.Redirect("~/Member/Manage.aspx");
            }
            else
            {
                Cache["MembreGUID"] = new Guid(Request.QueryString["MembreGUID"]);
                MembershipUser user   = Membership.GetUser(( Guid )Cache["MembreGUID"]);
                MemberInfo     member = MemberInfo.Get(( Guid )Cache["MembreGUID"]);
                ValidationMessage.Text += "Suppression du Membre : " + member.Nom + " " + member.Prenom + " " + user.Email + "<br />";
                ValidationMessage.Text += "-- Nom d'utilisateur : " + user.UserName + "<br /><br />";

                Cache["Questionnaires"] = QuestionnaireCollection.GetQuestionnaireMembre(( Guid )Cache["MembreGUID"]);
                foreach (Questionnaire questionnaire in ( QuestionnaireCollection )Cache["Questionnaires"])
                {
                    int QuestionnaireID = questionnaire.QuestionnaireID;
                    ValidationMessage.Text += "Suppression du Questionnaire : " + questionnaire.Description + ":" + questionnaire.CodeAcces + " questions : ";
                    PollQuestionCollection questions = PollQuestionCollection.GetByQuestionnaire(QuestionnaireID);
                    ValidationMessage.Text += questions.Count + "<br />";
                    foreach (PollQuestion question in questions)
                    {
                        ValidationMessage.Text += "-- Question : " + question.Question + "<br />";
                        PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId);
                        foreach (PollAnswer reponse in reponses)
                        {
                            ValidationMessage.Text += "---- Réponse : " + reponse.Answer + "<br />";
                            int nbVotes = PollVoteCollection.NumberOfVotesByAnswer(reponse.PollAnswerId);
                            ValidationMessage.Text += "------ Votes : " + nbVotes.ToString() + "<br />";
                        }
                    }

                    PersonneCollection personnes = PersonneCollection.GetQuestionnaire(QuestionnaireID);
                    ValidationMessage.Text += "</br>";
                    ValidationMessage.Text += "Suppression des contacts : " + personnes.Count + "<br />";
                    foreach (Personne p in personnes)
                    {
                        ValidationMessage.Text += p.Nom + " " + p.Prenom + " " + p.EmailBureau + " " + p.Societe + "<br />";
                    }
                    ValidationMessage.Text += "</br>";

                    WebContentCollection webContents = WebContentCollection.GetWebContents(member.NomUtilisateur, questionnaire.CodeAcces.ToString());
                    ValidationMessage.Text += "Suppression des contenus web pour le Questionnaire : " + webContents.Count + "<br />";
                    foreach (WebContent wc in webContents)
                    {
                        ValidationMessage.Text += wc.Section + " " + wc.Utilisateur + " " + wc.Visualisateur + "<br />";
                    }
                    ValidationMessage.Text += "</br>";

                    Cache["Scores"]         = ScoreCollection.GetScoreQuestionnaire(QuestionnaireID);
                    ValidationMessage.Text += "Suppression des scores : " + (( ScoreCollection )Cache["Scores"]).Count + "<br />";
                    ValidationMessage.Text += "</br>";
                }
                ValidationMessage.Text += "</br>";

                Cache["WebContentsToutLeMonde"] = WebContentCollection.GetWebContents(member.NomUtilisateur, WebContent.ToutLeMonde);
                ValidationMessage.Text         += "Suppression des contenus web pour Tout le Monde : " + (( WebContentCollection )Cache["WebContentsToutLeMonde"]).Count + "<br />";
                foreach (WebContent wc in ( WebContentCollection )Cache["WebContentsToutLeMonde"])
                {
                    ValidationMessage.Text += "-- " + wc.Section + " " + wc.Utilisateur + " " + wc.Visualisateur + "<br />";
                }
                ValidationMessage.Text += "</br>";

                ValidationMessage.Text += "Suppression des styles web :<br />";
                string dirStyleWeb = Server.MapPath("~/App_Data/StyleWeb/" + user.UserName);
                if (Directory.Exists(dirStyleWeb))
                {
                    List <Fichier> fichiers = Tools.GetAllFichiers(dirStyleWeb);
                    if (fichiers.Count <= 0)
                    {
                        ValidationMessage.Text += "-- Pas de style web<br />";
                    }
                    else
                    {
                        foreach (Fichier f in fichiers)
                        {
                            string nomFichier = Tools.GetFileNameWithoutExtension(f.Nom);
                            ValidationMessage.Text += "-- " + nomFichier + "<br />";
                        }
                    }
                }
                else
                {
                    ValidationMessage.Text += "-- Pas de style web<br />";
                }
                ValidationMessage.Text += "</br>";

                ValidationMessage.Text += "Suppression du fichier de paramètres : <br />";
                string fileName = Server.MapPath("~/App_Data/MemberSettings/" + user.UserName + ".xml");
                if (File.Exists(fileName))
                {
                    string nomFichier = Tools.GetFileNameWithoutExtension(fileName);
                    ValidationMessage.Text += "-- " + nomFichier + "<br />";
                }
                else
                {
                    ValidationMessage.Text += "-- Pas de paramètres<br />";
                }
                ValidationMessage.Text += "</br>";

                ValidationMessage.Text += "Suppression du Serveur SMTP :<br />";
                SmtpServer stmpServeur = SmtpServer.Get(member.MembreGUID);
                if (stmpServeur != null)
                {
                    ValidationMessage.Text += "-- Email : " + stmpServeur.Email + "<br />";
                    ValidationMessage.Text += "-- UserName : "******"<br />";
                    ValidationMessage.Text += "-- PassWord : "******"<br />";
                    ValidationMessage.Text += "-- ServerName : " + stmpServeur.ServerName + "<br />";
                }
                else
                {
                    ValidationMessage.Text += "-- Pas de serveur SMTP<br />";
                }

                ValidationMessage.Visible = true;
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack == false)
        {
            //// Choisir le premier Questionnaire a la place de l'utilisateur
            //if ( SessionState.Questionnaire == null && SessionState.Questionnaires.Count > 0 )
            //{
            //    SessionState.Questionnaire = SessionState.Questionnaires[ 0 ];
            //}

            //if ( Request.QueryString[ "QuestionnaireID" ] != null )
            //{
            //    int questionnaireID = int.Parse( Request.QueryString[ "QuestionnaireID" ] );
            //    SessionState.Questionnaire = SessionState.Questionnaires.FindByID( questionnaireID );
            //}

            if (Request.QueryString["CodeAcces"] != null)
            {
                int code = int.Parse(Request.QueryString["CodeAcces"]);
                // Dans SessionState.Questionnaires on prend une precaution pour verifier le membre
                // si SessionState.MemberInfo == null alors Va te faire loguer et donc on utilise
                // pas ce code ici !
                // SessionState.Questionnaire = SessionState.Questionnaires.FindByCodeAcces( code );
                QuestionnaireCollection questionnaires = QuestionnaireCollection.GetAll();
                SessionState.Questionnaire = questionnaires.FindByCodeAcces(code);
            }

            if (SessionState.Questionnaire == null || SessionState.Questionnaire.Publier == false)
            {
                PanelQuestionnairePasDePublication.Visible = true;
                PanelQuestionnairePublication.Visible      = false;
                return;
            }

            // Pour un meilleur referencement
            LabelTitre.Text = "Statistiques " + SessionState.Questionnaire.Description;
            Page.Title      = "Publication des Statistiques pour le questionnaire dont la description est " + SessionState.Questionnaire.Description;
            base.AddMetaContentType();
            base.AddMetaTag("description", "Publication des statistiques pour le questionnaire" + SessionState.Questionnaire.Description);
            base.AddMetaTag("keywords", "questionnaire, statistique, enquêtes, enquete, en ligne");
            base.AddMetaTag("revisit-after", "10 days");
            base.AddMetaTag("author", "Sodevlog");
            base.AddMetaTag("copyright", "Sodevlog");

            // Charger les votes pour ce Questionnaire
            if (SessionState.Questionnaire != null && Votes == null)
            {
                Votes     = PollVoteCollection.GetPollVotesByQuestionnaireID(SessionState.Questionnaire.QuestionnaireID);
                Personnes = PersonneCollection.GetQuestionnaire(SessionState.Questionnaire.QuestionnaireID);
            }

            if (Request.QueryString["PollAnswerID"] != null)
            {
                PanelSousPopulation.Visible = true;
                Guid pollAnswerID = new Guid(Request.QueryString["PollAnswerID"].ToString());

                // BUG25092009 Il ne faut ajouter 2 fois la meme reponse sinon il y a cumul
                // il faut eviter le cumul de PollAnswerID de Questions et de Reponses
                if (PollAnswerID.Contains(pollAnswerID) == false)
                {
                    PollAnswerID.Add(pollAnswerID);

                    // Trouver les votants
                    if (Votes.Count > 0)
                    {
                        // Comme on a que pollAnswerID a notre disposition, pour trouver la question il faut
                        // trouver la Reponses de pollAnswerID
                        // trouver la Question de la Reponse
                        PollAnswer             pollAnswer           = PollAnswerCollection.GetByPollAnswerID(pollAnswerID);
                        PollQuestionCollection pollAnswerCollection = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID);
                        PollQuestion           pollQuestion         = pollAnswerCollection.FindByPollQuestionID(pollAnswer.PollQuestionId);

                        // Cumuler les Reponses cliquees par l'utilisateur et les Questions
                        Questions.Add(pollQuestion);
                        Reponses.Add(pollAnswer);

                        // BUB25092009 AfficherTout();
                    }
                }

                // BUG25092009 on peut afficher tout ici
                AfficherTout();

                if (ListBoxQui.Items.Count <= 0)
                {
                    ListBoxQui.Items.Add("Pas de vote");
                    ListBoxQui.Rows = 1;

                    // On efface tout, sinon l'utilisateur est perdu
                    // et les Questions et les reponses continuent de s'accumuler
                    // et l'utilisateur ne voit rien
                    EffacerSousPopulation();
                }
                else
                {
                    ListBoxQui.Rows           = ListBoxQui.Items.Count <= 10 ? ListBoxQui.Items.Count : 10;
                    LabelListBoxQuiCount.Text = "Sous-population : " + ListBoxQui.Items.Count.ToString();
                    PanelReponses.Visible     = true;
                }
            }
            else // du if ( Request.QueryString[ "PollAnswerID" ] != null )
            {
                ListBoxQui.Items.Add("Cliquez sur une réponse");
                ListBoxQui.Rows = 1;
                EffacerSousPopulation();
            }

            if (SessionState.Questionnaire != null)
            {
                QuestionnairePublication.SelectedQuestionnaireID = SessionState.Questionnaire.QuestionnaireID;

                LabelNombreContacts.Text = Personnes.Count.ToString();
                PersonnesDropDownListQui.Clear();
                // Trouver les votants
                if (Votes.Count > 0)
                {
                    foreach (Personne p in Personnes)
                    {
                        //PollVoteCollection pvc = PollVoteCollection.GetPollVotes( SessionState.Questionnaire.QuestionnaireID, p.PersonneGUID );
                        PollVoteCollection pvc = Votes.FindByPersonneGUID(p.PersonneGUID);

                        // A t il vote pour ce questionnaire ?
                        if (pvc.Count > 0)
                        {
                            string personne = p.Nom + "/" + p.Prenom + "/" + p.EmailBureau;
                            DropDownListQui.Items.Add(personne);
                            PersonnesDropDownListQui.Add(p);
                        }
                    }
                }

                QuestionnairePublication.PersonneVotants = PersonnesDropDownListQui;
                // Afficher les votes du permier votant
                if (PersonnesDropDownListQui.Count >= 1)
                {
                    if (DropDownListQuiSelectedIndex != 0)
                    {
                        DropDownListQui.SelectedIndex = DropDownListQuiSelectedIndex;
                    }
                    Personne personne = PersonnesDropDownListQui[DropDownListQui.SelectedIndex];
                    QuestionnairePublication.SelectedQuestionnaireID = SessionState.Questionnaire.QuestionnaireID;
                    QuestionnairePublication.SelectedPersonneGUID    = personne.PersonneGUID;
                }

                LabelVotes.Text = PersonnesDropDownListQui.Count.ToString();
            }

            CheckBoxAfficherReponseTextuelle.Checked = SessionState.CheckBox["CheckBoxAfficherReponseTextuelle"];
            CheckBoxAfficherDateVote.Checked         = SessionState.CheckBox["CheckBoxAfficherDateVote"];
        }

        // Effacer les objets que l'on publie pas
        //DropDownListQuestionnaires.Visible = false;
        ListBoxQui.Visible = false;
        //DropDownListQui.Visible = false;
        CheckBoxAfficherReponseTextuelle.Checked          = false;
        QuestionnairePublication.AfficherReponseTextuelle = false;
        QuestionnairePublication.AfficherLaDateDesVotes   = false;
    }