// 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; } }
public void SetQuestionnaireResults(Dictionary <string, bool> questionnaireResults) { QuestionnaireCollection.Clear(); foreach (KeyValuePair <string, bool> pair in questionnaireResults) { QuestionnaireCollection.Add(pair.Key, pair.Value); } }
// 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"; }
// 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; }