private void BuildDataList() { Trace.Warn("BuildDataList"); if (SessionState.Questionnaire != null) { PollQuestionCollection pollQuestions = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID); QuestionRankMax = pollQuestions.MaxRank(); DropDownListCopierAPartirDe.Items.Clear(); DropDownListCopierAPartirDe.Items.Add(""); foreach (PollQuestion pq in pollQuestions) { DropDownListCopierAPartirDe.Items.Add(pq.Rank.ToString()); } DataListQuestion.DataSource = pollQuestions; DataListQuestion.DataBind(); // Trouver les reponses foreach (DataListItem dli in DataListQuestion.Items) { DataList dl = new DataList(); dl = ( DataList )dli.FindControl("DataListReponse"); HiddenField hf = new HiddenField(); hf = ( HiddenField )dli.FindControl("PollQuestionId"); Guid pollQuestionId = new Guid(hf.Value); PollAnswerCollection answers = PollAnswerCollection.GetByPollQuestionID(pollQuestionId); dl.DataSource = answers; dl.DataBind(); } } }
private void BuildDataList() { if (SessionState.Questionnaire != null) { PollQuestionCollection pollQuestions = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID); QuestionRankMax = pollQuestions.MaxRank(); DataListQuestion.DataSource = pollQuestions; DataListQuestion.DataBind(); // Trouver les reponses foreach (DataListItem dli in DataListQuestion.Items) { DataList dl = new DataList(); dl = ( DataList )dli.FindControl("DataListReponse"); HiddenField hf = new HiddenField(); hf = ( HiddenField )dli.FindControl("PollQuestionId"); Guid pollQuestionId = new Guid(hf.Value); PollAnswerCollection answers = PollAnswerCollection.GetByPollQuestionID(pollQuestionId); dl.DataSource = answers; dl.DataBind(); } } Trace.Warn("BuildDataList"); }
protected void BindData(bool showResults) { Poll poll = PollManager.GetPollByID(this.PollID); if (poll != null && poll.Published) { lblPollName.Text = Server.HtmlEncode(poll.Name); lblTotalVotes.Text = string.Format(GetLocaleResourceString("Polls.TotalVotes"), poll.TotalVotes); PollAnswerCollection pollAnswers = poll.PollAnswers; pnlTakePoll.Visible = !showResults; pnlPollResults.Visible = showResults; if (showResults) { dlResults.DataSource = pollAnswers; dlResults.DataBind(); } else { rblPollAnswers.DataSource = pollAnswers; rblPollAnswers.DataBind(); } } else { pnlTakePoll.Visible = false; pnlPollResults.Visible = false; } }
protected void DropDownListQuestionnaire_SelectedIndexChanged(object sender, EventArgs e) { SessionState.Questionnaire = SessionState.Questionnaires.FindByID(DropDownListQuestionnaire.QuestionnaireID); SessionState.Questions = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID); SessionState.Reponses = PollAnswerCollection.GetAll(); LabelValider.Visible = SessionState.Questionnaire.Valider; LabelFin.Visible = SessionState.Questionnaire.Fin; LabelBloque.Visible = SessionState.Questionnaire.Bloque; BuildDataList(); }
protected override void OnLoad(EventArgs e) { if (Page.IsPostBack == false) { if (SelectedQuestionnaireID != 0) { SessionState.Questionnaire = Questionnaire.GetQuestionnaire(SelectedQuestionnaireID); SessionState.Questions = PollQuestionCollection.GetByQuestionnaire(SelectedQuestionnaireID); SessionState.Votes = PollVoteCollection.GetPollVotesByQuestionnaireID(SelectedQuestionnaireID); SessionState.Reponses = PollAnswerCollection.GetAll(); } } }
protected void Page_Load(object sender, System.EventArgs e) { if (IsPostBack == false) { if (Request.QueryString["QuestionnaireID"] != null) { Cache["QuestionnaireID"] = int.Parse(Request.QueryString["QuestionnaireID"]); Questionnaire questionnaire = Questionnaire.GetQuestionnaire((int)Cache["QuestionnaireID"]); Reporter.Trace("Questionnaire lecture"); ValidationMessage.Text += "Suppression du Questionnaire : " + questionnaire.Description + ":" + questionnaire.CodeAcces + " questions : "; Cache["Questions"] = PollQuestionCollection.GetByQuestionnaire(( int )Cache["QuestionnaireID"]); ValidationMessage.Text += ((PollQuestionCollection)Cache["Questions"]).Count + "<br />"; foreach (PollQuestion question in ( PollQuestionCollection )Cache["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 />"; } } Cache["Personnes"] = PersonneCollection.GetQuestionnaire(( int )Cache["QuestionnaireID"]); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des contacts : " + (( PersonneCollection )Cache["Personnes"]).Count + "<br />"; foreach (Personne p in ( PersonneCollection )Cache["Personnes"]) { ValidationMessage.Text += p.Nom + " " + p.Prenom + " " + p.EmailBureau + " " + p.Societe + "<br />"; } MemberInfo membre = MemberInfo.GetMemberInfo(questionnaire.MembreGUID); Cache["WebContents"] = WebContentCollection.GetWebContents(membre.NomUtilisateur, questionnaire.CodeAcces.ToString()); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des contenus web : " + (( WebContentCollection )Cache["WebContents"]).Count + "<br />"; foreach (WebContent wc in ( WebContentCollection )Cache["WebContents"]) { ValidationMessage.Text += wc.Section + " " + wc.Utilisateur + " " + wc.Visualisateur + "<br />"; } Cache["Scores"] = ScoreCollection.GetScoreQuestionnaire(( int )Cache["QuestionnaireID"]); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des scores : " + (( ScoreCollection )Cache["Scores"]).Count + "<br />"; ValidationMessage.Visible = true; } } }
private static PollAnswerCollection DBMapping(DBPollAnswerCollection dbCollection) { if (dbCollection == null) return null; PollAnswerCollection collection = new PollAnswerCollection(); foreach (DBPollAnswer dbItem in dbCollection) { PollAnswer item = DBMapping(dbItem); collection.Add(item); } return collection; }
protected void QuestionSuivante_Click(object sender, EventArgs e) { if (SessionState.CurrentQuestionIndex == SessionState.Questions.Count - 1) { SessionState.Questionnaire = null; Page.Response.Redirect("~/Poll/Termine.aspx", true); } // Passer a la question suivante SessionState.CurrentQuestionIndex += 1; SessionState.Question = SessionState.Questions[SessionState.CurrentQuestionIndex]; SessionState.Reponses = PollAnswerCollection.GetByPollQuestionID(SessionState.Question.PollQuestionId); this.Controls.Clear(); CreateControls(); }
private static PollAnswerCollection DBMapping(DBPollAnswerCollection dbCollection) { if (dbCollection == null) { return(null); } PollAnswerCollection collection = new PollAnswerCollection(); foreach (DBPollAnswer dbItem in dbCollection) { PollAnswer item = DBMapping(dbItem); collection.Add(item); } return(collection); }
private PollAnswerCollection buildAnswers(XmlNodeList data) { if (data != null && data.Count > 0) { PollAnswerCollection pac = new PollAnswerCollection(); foreach (XmlNode n in data) { XmlUtils.UseNode(n); PollAnswer pa = new PollAnswer(); pa.Id = XmlUtils.Int("id"); pa.Rate = XmlUtils.Float("rate"); pa.Text = XmlUtils.String("text"); pa.Votes = XmlUtils.Int("votes"); pac.Add(pa); } return pac; } return null; }
private PollAnswerCollection buildAnswers(XmlNodeList data) { if (data != null && data.Count > 0) { PollAnswerCollection pac = new PollAnswerCollection(); foreach (XmlNode n in data) { XmlUtils.UseNode(n); PollAnswer pa = new PollAnswer(); pa.Id = XmlUtils.Int("id"); pa.Rate = XmlUtils.Float("rate"); pa.Text = XmlUtils.String("text"); pa.Votes = XmlUtils.Int("votes"); pac.Add(pa); } return(pac); } return(null); }
protected void Page_Load(object sender, System.EventArgs e) { Reporter.Trace("Page_Load"); if (IsPostBack == false) { if (Request.QueryString["QuestionnaireID"] != null) { int questionnaireID = int.Parse(Request.QueryString["QuestionnaireID"]); SessionState.Questionnaire = SessionState.Questionnaires.FindByID(questionnaireID); } // 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) { LabelValider.Visible = SessionState.Questionnaire.Valider; LabelFin.Visible = SessionState.Questionnaire.Fin; LabelBloque.Visible = SessionState.Questionnaire.Bloque; SessionState.Questions = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID); SessionState.Reponses = PollAnswerCollection.GetAll(); BuildDataList(); } RolloverButtonProgrammer.Visible = BoutonVisible(); RolloverButtonAjouterQuestion.Visible = BoutonVisible(); } // COR210920090002 c'est vicieux mais comme on ne peut rien faire sur UrlReferrer // de merde dont tous les elements sont en lecture seul !! // je ne vois que rendre invisible l'ancre if (Request.UrlReferrer.Fragment == "#BasDePage") { AncreBasDePage.Visible = false; } Page.Form.DefaultButton = DefaultButton.UniqueID; // Pour donner le focus }
/// <summary> /// Gets a poll answers by poll identifier /// </summary> /// <param name="PollID">Poll identifier</param> /// <returns>Poll answer collection</returns> public static PollAnswerCollection GetPollAnswersByPollID(int PollID) { string key = string.Format(POLLANSWERS_BY_POLLID_KEY, PollID); object obj2 = NopCache.Get(key); if (PollManager.CacheEnabled && (obj2 != null)) { return((PollAnswerCollection)obj2); } DBPollAnswerCollection dbCollection = DBProviderManager <DBPollProvider> .Provider.GetPollAnswersByPollID(PollID); PollAnswerCollection pollAnswerCollection = DBMapping(dbCollection); if (PollManager.CacheEnabled) { NopCache.Max(key, pollAnswerCollection); } return(pollAnswerCollection); }
protected override void OnLoad(EventArgs e) { if (!Page.IsPostBack) { if (Page.Request["QuestionnaireID"] != null) { int questionnaireID = int.Parse(Page.Request["QuestionnaireID"].ToString()); SessionState.Questionnaire = Questionnaire.GetQuestionnaire(questionnaireID); SessionState.Questions = PollQuestionCollection.GetByQuestionnaire(questionnaireID); SessionState.Question = SessionState.Questions[0]; // permiere question SessionState.Reponses = PollAnswerCollection.GetByPollQuestionID(SessionState.Question.PollQuestionId); SessionState.CurrentQuestionIndex = 0; } } if (!Page.IsCallback) { int tete = 123214; } }
protected void TextBoxQuestion_TextChanged(object sender, EventArgs e) { Reporter.Trace("TextBoxQuestion_TextChanged"); BloquerQuestionnaire(SessionState.Questionnaire.Bloque); try { TextBox textBox = ( TextBox )sender; HiddenField hf = new HiddenField(); hf = ( HiddenField )textBox.Parent.FindControl("PollQuestionId"); Guid pollQuestionId = new Guid(hf.Value); PollQuestion question = SessionState.Questions.FindByPollQuestionID(pollQuestionId); // Mise a jour de la Question if (textBox.Text.Trim() != string.Empty) { question.Question = textBox.Text.Trim(); PollQuestion.Update(question); } else // Suppression de la Question des Reponses et des Votes associes { int status = 0; PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer reponse in reponses) { PollVoteCollection votes = PollVoteCollection.GetVotes(reponse.PollAnswerId); foreach (PollVote vote in votes) { status += PollVote.Delete(vote.VoteId); } status += PollAnswer.Delete(reponse.PollAnswerId); } status += PollQuestion.Delete(question.PollQuestionId); SessionState.Limitations.SupprimerQuestion(); RebuildDataList(); } } catch { } }
protected void SubmitButton_Click(object sender, EventArgs e) { if (HasUserAlreadyVoted()) { this.Controls.Add(new LiteralControl("<br/>Vous avez déjà répondu à cette question.")); } else if (!Strings.IsNullOrEmpty(((( RadioButtonList )this.Controls[5]).SelectedValue))) { Limitation limitation = new Limitation(SessionState.Questionnaire.MembreGUID); if (limitation.LimitesReponses) { Context.Response.Redirect(Tools.PageErreurPath + "Désolé mais le nombre de réponses pour ce questionnaire est atteinte.", true); } PollVote pv = new PollVote(); pv.PollQuestionID = SessionState.Question.PollQuestionId; pv.PollAnswerId = new Guid((( RadioButtonList )this.Controls[5]).SelectedValue); pv.UserGUID = SessionState.Personne.PersonneGUID; pv.QuestionnaireID = SessionState.Question.QuestionnaireID; pv.CreationDate = DateTime.Now; PollVote.Create(pv); // Le questionnaire est termine if (SessionState.CurrentQuestionIndex == SessionState.Questions.Count - 1) { SessionState.Questionnaire = null; Page.Response.Redirect("~/Poll/Termine.aspx", true); } // Passer a la question suivante SessionState.CurrentQuestionIndex += 1; SessionState.Question = SessionState.Questions[SessionState.CurrentQuestionIndex]; SessionState.Reponses = PollAnswerCollection.GetByPollQuestionID(SessionState.Question.PollQuestionId); this.Controls.Clear(); CreateControls(); } else { this.Controls.Add(new LiteralControl("<br/>Merci de répondre à la question.")); } }
private void BindData() { Poll poll = PollManager.GetPollByID(this.PollID); if (poll != null) { CommonHelper.SelectListItem(this.ddlLanguage, poll.LanguageID); this.txtName.Text = poll.Name; this.txtSystemKeyword.Text = poll.SystemKeyword; this.cbPublished.Checked = poll.Published; this.txtDisplayOrder.Value = poll.DisplayOrder; pnlPollAnswers.Visible = true; PollAnswerCollection pollAnswers = poll.PollAnswers; gvPollAnswers.DataSource = pollAnswers; gvPollAnswers.DataBind(); } else { pnlPollAnswers.Visible = false; } }
// 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 ButtonSupprimer_Click(object sender, EventArgs e) { if (Cache["MembreGUID"] == null || ( Guid )Cache["MembreGUID"] == Guid.Empty) { ValidationMessage.Text += "<br/>Choisir un membre à supprimer.<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; ValidationMessage.Visible = true; } else { int status = 0; int statusGlobal = 0; ValidationMessage.Text += "<br />-----------------------------------------------------<br />"; ValidationMessage.Text += " Début de la Suppression du Membre <br />"; ValidationMessage.Text += "-----------------------------------------------------<br />"; Reporter.Trace("ButtonSupprimer_Click début"); MemberInfo member = MemberInfo.Get(( 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) { PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer reponse in reponses) { PollVoteCollection votes = PollVoteCollection.GetVotes(reponse.PollAnswerId); int nbVotes = PollVoteCollection.NumberOfVotesByAnswer(reponse.PollAnswerId); ValidationMessage.Text += "----- Suppression des votes : " + nbVotes.ToString() + "<br />"; foreach (PollVote vote in votes) { status = PollVote.Delete(vote.VoteId); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "---- Suppression de la Réponse : " + reponse.Answer + "<br />"; status = PollAnswer.Delete(reponse.PollAnswerId); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "--- Suppression de la Question : " + question.Question + "<br />"; status = PollQuestion.Delete(question.PollQuestionId); SessionState.Limitations.SupprimerQuestion(); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.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 />"; status = Personne.Delete(p.ID_Personne); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } SessionState.Limitations.SupprimerInterviewes(personnes.Count); WebContentCollection webContents = WebContentCollection.GetWebContents(member.NomUtilisateur, questionnaire.CodeAcces.ToString()); ValidationMessage.Text += "</br>"; 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 />"; status = WebContent.Delete(wc.WebContentID); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des scores : " + (( ScoreCollection )Cache["Scores"]).Count + "<br />"; foreach (Score s in ( ScoreCollection )Cache["Scores"]) { status = Score.Delete(s.ScoreID); statusGlobal = statusGlobal + status; } ValidationMessage.Text += "Suppression du Questionnaire : " + questionnaire.Description + "<br />"; status = Questionnaire.Delete(questionnaire.QuestionnaireID); statusGlobal = statusGlobal + status; SessionState.Limitations.SupprimerQuestionnaire(); ValidationMessage.Text += "status : " + status.ToString() + "<br />"; }// Fin de foreach ( Questionnaire questionnaire in Questionnaires ) Reporter.Trace("foreach ( Questionnaire questionnaire in Questionnaires ) fin"); 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 />"; status = WebContent.Delete(wc.WebContentID); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } MembershipUser user = Membership.GetUser(( Guid )Cache["MembreGUID"]); Reporter.Trace("Directory.Exists( dirStyleWeb ) début"); 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) { try { File.Delete(f.Nom); string nomFichier = Tools.GetFileNameWithoutExtension(f.Nom); ValidationMessage.Text += "-- fichier supprimé : " + nomFichier + "<br />"; } catch { string nomFichier = Tools.GetFileNameWithoutExtension(f.Nom); ValidationMessage.Text += "-- ERREUR à la suppression du fichier : " + nomFichier + "<br />"; } } } ValidationMessage.Text += "Suppression du répertoire : " + user.UserName; try { Directory.Delete(dirStyleWeb); } catch (Exception ex) { ValidationMessage.Text += " Erreur : " + ex.Message + "</br>"; } ValidationMessage.Text += "</br>"; } else { ValidationMessage.Text += "-- Pas de style web<br />"; } ValidationMessage.Text += "</br>"; Reporter.Trace("Directory.Exists( dirStyleWeb ) fin"); ValidationMessage.Text += "Suppression du fichier de paramètres :<br />"; string fileName = Server.MapPath("~/App_Data/MemberSettings/" + user.UserName + ".xml"); if (File.Exists(fileName)) { File.Delete(fileName); string nomFichier = Tools.GetFileNameWithoutExtension(fileName); ValidationMessage.Text += "-- fichier supprimé : " + nomFichier + "<br />"; } else { string nomFichier = Tools.GetFileNameWithoutExtension(fileName); ValidationMessage.Text += "-- ERREUR à la suppression du fichier : " + nomFichier + "<br />"; } ValidationMessage.Text += "</br>"; Reporter.Trace("SmtpServer.Get( member.MembreGUID ) début"); SmtpServer stmpServeur = SmtpServer.Get(member.MembreGUID); if (stmpServeur != null) { ValidationMessage.Text += "Suppression du Serveur SMTP :" + stmpServeur.ServerName + "<br />"; status = SmtpServer.Delete(stmpServeur.SmtpServerID); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } Reporter.Trace("SmtpServer.Get( member.MembreGUID ) fin"); ValidationMessage.Text += "Suppression du Membre : " + member.Nom + " " + member.Prenom + " " + user.Email + " " + user.UserName + "<br />"; status = MemberInfo.Delete(( Guid )Cache["MembreGUID"]); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; ValidationMessage.Text += "Suppression de l'Utilisateur : " + user.UserName + "<br />"; bool ok = Membership.DeleteUser(user.UserName, true); if (ok) { status = 0; } else { status = 1; } ValidationMessage.Text += "status : " + status.ToString() + "<br />"; ValidationMessage.Text += "<br />status global : " + statusGlobal.ToString() + "<br />"; ValidationMessage.Visible = true; // Forcer les Questionnaires a se recharger depuis la Base de Donnees SessionState.Questionnaires = null; SessionState.Questionnaire = null; Cache["MembreGUID"] = Guid.Empty; // Si c'est un membre qui supprime sont compte if (User.IsInRole("Administrateur") == false) { // Message de suppression d'un membre a l'admin string sujetEmail2 = "Suppression d'un Membre sur le site : " + Global.SettingsXml.SiteNom; string bodyEmail2 = ""; bodyEmail2 += "Nom d'utilisateur : " + SessionState.MemberInfo.NomUtilisateur + "<br/>"; bodyEmail2 += "Nom : " + SessionState.MemberInfo.Nom + "<br/>"; bodyEmail2 += "Prénom : " + SessionState.MemberInfo.Prenom + "<br/>"; bodyEmail2 += "Société : " + SessionState.MemberInfo.Societe + "<br/>"; bodyEmail2 += "Téléphone : " + SessionState.MemberInfo.Telephone + "<br/>"; bodyEmail2 += "Adresse : " + SessionState.MemberInfo.Adresse + "<br/>"; bodyEmail2 += "Email : " + user.Email + "<br/>"; bodyEmail2 += "<br/>Accès à l'application :<br/>" + string.Format("<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri) + "<br/>"; MemberInfo admin = MemberInfo.GetMemberInfo("admin"); MembershipUser userAdmin = Membership.GetUser(admin.MembreGUID); Courriel.EnvoyerEmailToAssynchrone(admin.MembreGUID, userAdmin.Email, sujetEmail2, bodyEmail2); // Deconnecter l'utilisateur FormsAuthentication.SignOut(); HttpContext.Current.Session.Abandon(); Response.Redirect("~/Member/Login.aspx"); } } }
// Ajouter des Reponses a la Question protected void TextBoxReponse_TextChanged(object sender, EventArgs e) { Reporter.Trace("TextBoxReponse_TextChanged"); BloquerQuestionnaire(SessionState.Questionnaire.Bloque); try { TextBox textBox = ( TextBox )sender; DropDownList ddlTypeReponse = ( DropDownList )textBox.Parent.FindControl("DropDownListTypeReponse"); if (textBox.Text.Trim() != "" && ddlTypeReponse.SelectedValue != "-1") { HiddenField hf = new HiddenField(); hf = ( HiddenField )textBox.Parent.FindControl("PollQuestionId"); Guid pollQuestionId = new Guid(hf.Value); PollQuestion question = SessionState.Questions.FindByPollQuestionID(pollQuestionId); PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(pollQuestionId); CheckBox cbxObligatoire = ( CheckBox )textBox.Parent.FindControl("CheckBoxObligatoire"); if (textBox.Text.Trim().Contains(";")) { int rank = reponses.MaxRank() + 1; // ajouter les reponses a la suite des reponses existantes string[] reponsesSplit = textBox.Text.Trim().Split(';'); foreach (string rep in reponsesSplit) { PollAnswer reponse = new PollAnswer(rep.Trim()); reponse.PollQuestionId = question.PollQuestionId; reponse.TypeReponse = ddlTypeReponse.SelectedValue; reponse.Obligatoire = cbxObligatoire.Checked; reponse.Rank = rank; int status = PollAnswer.Create(reponse); rank += 1; } } else { PollAnswer reponse = new PollAnswer(); reponse.PollQuestionId = question.PollQuestionId; reponse.Answer = textBox.Text.Trim(); reponse.TypeReponse = ddlTypeReponse.SelectedValue; // reponse.Width = reponse.Width; // reponse.Rows = reponse.Rows; // reponse.AlignLeft = reponse.AlignLeft; // reponse.Horizontal = reponse.Horizontal; reponse.Obligatoire = cbxObligatoire.Checked; reponse.Rank = reponses.MaxRank() + 1; // ajouter la reponse a la suite des reponses existantes int status = PollAnswer.Create(reponse); } RebuildDataList(); } if (ddlTypeReponse.SelectedValue == "-1") { textBox.CssClass = "TextBoxListUserQuestionInstructionRedStyle"; textBox.Text = "Choisir un Type de réponse"; } } catch { } }
private void BuildDataList() { Reporter.Trace("BuildDataList"); // AME19102010 Mode Pagination - Il y a t-il plusieurs pages ? if (modePage()) { // AME19102010 - Mettre ou remettre les boutons des pager en fonction de CurrentPage if (CurrentPage == 0) // premiere page { ButtonPagePrecedenteHaut.Visible = false; ButtonPagePrecedenteBas.Visible = false; ButtonPageSuivanteHaut.Visible = true; ButtonPageSuivanteBas.Visible = true; } if (CurrentPage > 0) { ButtonPagePrecedenteHaut.Visible = true; ButtonPagePrecedenteBas.Visible = true; ButtonPageSuivanteHaut.Visible = true; ButtonPageSuivanteBas.Visible = true; } if (nombrePage() > 0 && CurrentPage + 1 >= nombrePage()) // derniere page { CurrentPage = nombrePage() - 1; // si on a change la pagination CurrentPage ne peut pas depasser nombrePage() - 1 ButtonPagePrecedenteHaut.Visible = true; ButtonPagePrecedenteBas.Visible = true; ButtonPageSuivanteHaut.Visible = false; ButtonPageSuivanteBas.Visible = false; } PagedDataSource pagedDataSource = new PagedDataSource(); pagedDataSource.AllowPaging = true; pagedDataSource.DataSource = SessionState.Questions; pagedDataSource.PageSize = int.Parse(SessionState.MemberSettings.TaillePageQuestions); pagedDataSource.CurrentPageIndex = CurrentPage; LabelPageCouranteHaut.Text = (CurrentPage + 1).ToString() + "/" + nombrePage().ToString(); LabelPageCouranteBas.Text = LabelPageCouranteHaut.Text; LabelPageCouranteHaut.ToolTip = "Page courante/Nombre de pages - taille d'une page : " + SessionState.MemberSettings.TaillePageQuestions; LabelPageCouranteBas.ToolTip = LabelPageCouranteHaut.ToolTip; PanelPagerHaut.Visible = true; PanelPagerBas.Visible = true; DataListQuestion.DataSource = pagedDataSource; } else { PanelPagerHaut.Visible = false; PanelPagerBas.Visible = false; DataListQuestion.DataSource = SessionState.Questions; } DataListQuestion.DataBind(); // Trouver toutes les reponses foreach (DataListItem dli in DataListQuestion.Items) { DataList dl = new DataList(); dl = ( DataList )dli.FindControl("DataListReponse"); HiddenField hf = new HiddenField(); hf = ( HiddenField )dli.FindControl("PollQuestionId"); Guid pollQuestionId = new Guid(hf.Value); PollAnswerCollection answers = PollAnswerCollection.GetByPollQuestionID(pollQuestionId); dl.DataSource = answers; dl.DataBind(); DropDownList ddlTypReponse = ( DropDownList )dli.FindControl("DropDownListTypeReponse"); ddlTypReponse.DataSource = TypeReponse.List(); ddlTypReponse.DataBind(); ddlTypReponse.Items.Insert(0, new ListItem("Type de Réponse", "-1")); // Par defaut on propose toujours le type de reponse "Choix" ddlTypReponse.SelectedValue = TypeReponse.Choix; } }
private void RebuildDataList() { SessionState.Questions = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID); SessionState.Reponses = PollAnswerCollection.GetAll(); BuildDataList(); }
protected void ButtonCopier_Click(object sender, EventArgs e) { Reporter.Trace("ButtonCopier_Click"); if (( int )Cache["QuestionnaireID "] == 0) { ValidationMessage.Text += "Choisir un questionnaire à copier.<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; ValidationMessage.Visible = true; } else { int status = 0; MemberInfo membre = MemberInfo.GetMemberInfo(( Guid )Cache["MembreGUID"]); Questionnaire questionnaire = Questionnaire.GetQuestionnaire(( int )Cache["QuestionnaireID "]); Questionnaire newquestionnaire = new Questionnaire(); Reporter.Trace("GetMemberInfo() GetQuestionnaire()"); // Creation d'un nouveau Questionnaire if (( int )Cache["QuestionnaireExistantID"] == 0) { newquestionnaire.Description = questionnaire.Description; newquestionnaire.Style = questionnaire.Style; newquestionnaire.Valider = questionnaire.Valider; newquestionnaire.Fin = questionnaire.Fin; newquestionnaire.Anonyme = questionnaire.Anonyme; newquestionnaire.Compteur = questionnaire.Compteur; newquestionnaire.DateCreation = DateTime.Now; newquestionnaire.MembreGUID = ( Guid )Cache["MembreGUID"]; newquestionnaire.CodeAcces = ( int )Cache["CodeAcces"]; ValidationMessage.Text += "<br />Création du Questionnaire : " + newquestionnaire.Description + ":" + newquestionnaire.CodeAcces + "<br />"; if (User.IsInRole("Administrateur")) { ValidationMessage.Text += "Pour le membre : " + membre.NomUtilisateur + "/" + membre.Nom + "/" + membre.Prenom + "<br />"; } // Tester les limitations avant d'ajouter le questionnaire if (SessionState.Limitations.LimiteQuestionnaires) { // BUG05062010 12072010 SessionState.Questionnaire = null; Tools.PageValidation("La limite du nombre de Questionnaires : " + SessionState.Limitations.NombreQuestionnaires + " est atteinte.<br/>Contactez l'administrateur."); } status = Questionnaire.Create(newquestionnaire); if (status == 1) { ValidationMessage.Text += "Questionnaire créé correctement.<br/>"; // BUG05062010 // Prendre en compte le nouveau Questionnaire //SessionState.Questionnaires.Add( questionnaire ); //SessionState.Questionnaire = questionnaire; //SessionState.Limitations.AjouterQuestionnaire(); SessionState.Questionnaires.Add(newquestionnaire); SessionState.Questionnaire = newquestionnaire; 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"; } } else // Questionnaire existant { newquestionnaire = Questionnaire.GetQuestionnaire(( int )Cache["QuestionnaireExistantID"]); // BUG05062010 // Arrive ici la DropDownListQuestionnaire a modifie // SessionState.Questionnaire avec le questionnaire de l'Intervieweur // il faut donc remmettre SessionState.Questionnaire a la valeur de l'utilisateur SessionState.Questionnaire = newquestionnaire; ValidationMessage.Text += "<br />Copie du Questionnaire : " + newquestionnaire.Description + ":" + newquestionnaire.CodeAcces + "<br />"; ValidationMessage.Text += "Pour le membre : " + membre.NomUtilisateur + "/" + membre.Nom + "/" + membre.Prenom + "<br />"; } int rank = 0; // Conserver le rang des Questions avec un biais MaxRank if (( int )Cache["QuestionnaireExistantID"] != 0) { PollQuestionCollection questionsExistantes = PollQuestionCollection.GetByQuestionnaire(( int )Cache["QuestionnaireExistantID"]); rank = questionsExistantes.MaxRank() + 1; } Reporter.Trace("Questionnaire copier début"); foreach (PollQuestion question in ( PollQuestionCollection )Cache["Questions"]) { ValidationMessage.Text += "----Création de la Question : " + question.Question + "<br />"; PollQuestion q = new PollQuestion(); q.Question = question.Question; q.Rank = question.Rank + rank; // Ajouter le Biais q.Societe = question.Societe; q.Obligatoire = question.Obligatoire; q.Fin = question.Fin; q.ChoixMultiple = question.ChoixMultiple; q.ChoixMultipleMin = question.ChoixMultipleMin; //BUG20100330 q.ChoixMultipleMax = question.ChoixMultipleMax; q.CreationDate = DateTime.Now; q.Instruction = question.Instruction; q.Message = question.Message; q.MessageHaut = question.MessageHaut; q.SautPage = question.SautPage; q.Tableau = question.Tableau; q.AlignementQuestion = question.AlignementQuestion; q.AlignementReponse = question.AlignementReponse; q.QuestionnaireID = newquestionnaire.QuestionnaireID; q.MembreGUID = membre.MembreGUID; // 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."); } status = PollQuestion.Create(q); ValidationMessage.Text += " status : " + status + "<br/>"; SessionState.Limitations.AjouterQuestion(); PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer reponse in reponses) { Reporter.Trace("PollAnswer.Create()"); ValidationMessage.Text += "----Création de la Réponse : " + reponse.Answer + "<br />"; PollAnswer a = new PollAnswer(); a.PollQuestionId = q.PollQuestionId; a.Answer = reponse.Answer; a.TypeReponse = reponse.TypeReponse; a.Width = reponse.Width; a.Rows = reponse.Rows; a.AlignLeft = reponse.AlignLeft; a.Horizontal = reponse.Horizontal; a.Obligatoire = reponse.Obligatoire; a.Rank = reponse.Rank; a.Score = reponse.Score; status = PollAnswer.Create(a); ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } } //foreach ( PollQuestion question in questions ) // Ne laisser faire qu'une copie ButtonCopier.Visible = false; // BUG05062010 // NE PAS FAIRE ICI //// Creation d'un nouveau Questionnaire //// Prendre en compte le nouveau Questionnaire //if ( ( int )Cache[ "QuestionnaireExistantID" ] == 0 ) //{ // SessionState.Questionnaires.Add( newquestionnaire ); // SessionState.Questionnaire = newquestionnaire; //} Cache["QuestionnaireID "] = 0; // fermer le formulaire Cache["QuestionnaireExistantID"] = 0; // Attention c'est faux Questionnaire.Create() retourn 1 si OK if (status != 0) { ValidationMessage.Text += "Erreur à la copie du Questionnaire status : " + status.ToString() + "<br />"; } Reporter.Trace("Questionnaire copier fin"); ButtonAjouterQuestion.Visible = true; } }
private void BuildDataList() { DataListQuestion.DataSource = SessionState.QuestionsEnCours; DataListQuestion.DataBind(); // Trouver les Reponses et les Votes foreach (DataListItem dli in DataListQuestion.Items) { DataList dl = new DataList(); dl = ( DataList )dli.FindControl("DataListReponse"); HiddenField hf = new HiddenField(); hf = ( HiddenField )dli.FindControl("PollQuestionId"); Guid pollQuestionId = new Guid(hf.Value); PollAnswerCollection answers = PollAnswerCollection.GetByPollQuestionID(pollQuestionId); dl.DataSource = answers; dl.DataBind(); // Rechercher dans les Votes deja effectues if (answers.Count > 0 && SessionState.Votes != null) { int indexReponse = 0; // Trouver le bon LabelVote dans DataListReponse foreach (PollAnswer answer in answers) { PollVoteCollection pvc = SessionState.Votes.FindByAnswerID(answer.PollAnswerId); if (pvc.Count >= 1) // surement un seul mais bon ... { Label lbl = ( Label )dl.Controls[indexReponse].FindControl("LabelVote"); lbl.Text = "X"; lbl.CssClass = "LabelQuestionEnCoursVoteDejaFaitStyle"; if (TypeReponse.EstTextuelle(answer.TypeReponse)) { Label lblVoteTexte = ( Label )dl.Controls[indexReponse].FindControl("LabelVoteTexte"); lblVoteTexte.Text = pvc[0].Vote; } } indexReponse += 1; } } // Rechercher dans les Votes en Cours if (answers.Count > 0 && SessionState.VotesEnCours != null) { int indexReponse = 0; // Trouver le bon LabelVote dans DataListReponse foreach (PollAnswer answer in answers) { PollVoteCollection pvc = SessionState.VotesEnCours.FindByAnswerID(answer.PollAnswerId); if (pvc.Count >= 1) // surement un seul mais ... { Label lbl = ( Label )dl.Controls[indexReponse].FindControl("LabelVote"); lbl.Text = "X"; if (TypeReponse.EstTextuelle(answer.TypeReponse)) { Label lblVoteTexte = ( Label )dl.Controls[indexReponse].FindControl("LabelVoteTexte"); lblVoteTexte.Text = pvc[0].Vote; } } indexReponse += 1; } } } }
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; }
protected void ButtonSupprimer_Click(object sender, EventArgs e) { if ((int)Cache["QuestionnaireID"] == 0) { ValidationMessage.Text += "<br/>Choisir un questionnaire à supprimer.<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; ValidationMessage.Visible = true; } else { int status = 0; int statusGlobal = 0; Questionnaire questionnaire = Questionnaire.GetQuestionnaire(( int )Cache["QuestionnaireID"]); Reporter.Trace("Questionnaire delete"); ValidationMessage.Text += "<br />-----------------------------------------------------<br />"; ValidationMessage.Text += " Début de la Suppression du Questionnaire <br />"; ValidationMessage.Text += "-----------------------------------------------------<br />"; foreach (PollQuestion question in ( PollQuestionCollection )Cache["Questions"]) { PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer reponse in reponses) { PollVoteCollection votes = PollVoteCollection.GetVotes(reponse.PollAnswerId); int nbVotes = PollVoteCollection.NumberOfVotesByAnswer(reponse.PollAnswerId); ValidationMessage.Text += "----- Suppression des votes : " + nbVotes.ToString() + "<br />"; foreach (PollVote vote in votes) { status = PollVote.Delete(vote.VoteId); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "---- Suppression de la Réponse : " + reponse.Answer + "<br />"; status = PollAnswer.Delete(reponse.PollAnswerId); statusGlobal = statusGlobal + status; ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "--- Suppression de la Question : " + question.Question + "<br />"; status = PollQuestion.Delete(question.PollQuestionId); statusGlobal = statusGlobal + status; SessionState.Limitations.SupprimerQuestion(); ValidationMessage.Text += " status : " + status.ToString() + "<br />"; } Reporter.Trace("Questionnaire delete fin"); //PersonneCollection personnes = PersonneCollection.GetQuestionnaire( ( int )Cache[ "QuestionnaireID" ] ); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des contacts : " + (( PersonneCollection )Cache["Personnes"]).Count + "<br />"; foreach (Personne p in ( PersonneCollection )Cache["Personnes"]) { ValidationMessage.Text += p.Nom + " " + p.Prenom + " " + p.EmailBureau + " " + p.Societe + "<br />"; status = Personne.Delete(p.ID_Personne); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } SessionState.Limitations.SupprimerInterviewes((( PersonneCollection )Cache["Personnes"]).Count); MemberInfo membre = MemberInfo.GetMemberInfo(questionnaire.MembreGUID); //WebContentCollection webContents = WebContentCollection.GetWebContents( membre.NomUtilisateur, questionnaire.CodeAcces.ToString() ); ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des contenus web : " + (( WebContentCollection )Cache["WebContents"]).Count + "<br />"; foreach (WebContent wc in ( WebContentCollection )Cache["WebContents"]) { ValidationMessage.Text += wc.Section + " " + wc.Utilisateur + " " + wc.Visualisateur + "<br />"; status = WebContent.Delete(wc.WebContentID); statusGlobal = statusGlobal + status; ValidationMessage.Text += "status : " + status.ToString() + "<br />"; } ValidationMessage.Text += "</br>"; ValidationMessage.Text += "Suppression des scores : " + (( ScoreCollection )Cache["Scores"]).Count + "<br />"; foreach (Score s in ( ScoreCollection )Cache["Scores"]) { status = Score.Delete(s.ScoreID); statusGlobal = statusGlobal + status; } ValidationMessage.Text += "Suppression du Questionnaire : " + questionnaire.Description + "<br />"; status = Questionnaire.Delete(questionnaire.QuestionnaireID); statusGlobal = statusGlobal + status; SessionState.Limitations.SupprimerQuestionnaire(); ValidationMessage.Text += "status : " + status.ToString() + "<br />"; ValidationMessage.Text += "<br />status global : " + statusGlobal.ToString() + "<br />"; ValidationMessage.Visible = true; // Forcer les Questionnaires a se recharger depuis la Base de Donnees SessionState.Questionnaires = null; SessionState.Questionnaire = null; Cache["QuestionnaireID"] = 0; // fermer le formulaire // On ne supprime qu'une fois ! ButtonSupprimer.Visible = false; } }
protected void ButtonValiderQuestionnaire_Click(object sender, EventArgs e) { if (Request.QueryString["valider"] != null) { if (Request.QueryString["valider"].ToString() == "2") { Page.Response.Redirect("~/Poll/Termine.Aspx", true); } } if (SessionState.QuestionsEnCours.Count <= 0) { ValidationMessage.Text += "Pas de questions en cours."; ValidationMessage.Visible = true; return; } if (SessionState.VotesEnCours.Count <= 0) { // L'interviewe a deja clique sur le bouton if (ValidationMessage.Text == "Pas de réponses en cours.") { Page.Response.Redirect("~/Poll/Termine.Aspx", true); } ValidationMessage.Text += "Pas de réponses en cours."; ValidationMessage.Visible = true; return; } int statusGlobal = 0; Session["_VotesEnCoursCount"] = SessionState.VotesEnCours.Count; foreach (PollQuestion question in SessionState.QuestionsEnCours) { PollAnswerCollection answers = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer answer in answers) { PollVoteCollection pvc = SessionState.VotesEnCours.FindByAnswerID(answer.PollAnswerId); if (pvc.Count > 0) { foreach (PollVote vote in pvc) { if (HttpContext.Current.User.Identity.IsAuthenticated == false) { Limitation limitation = new Limitation(SessionState.Questionnaire.MembreGUID); if (limitation.LimitesReponses) { Context.Response.Redirect(Tools.PageErreurPath + "Désolé mais le nombre de réponses pour ce questionnaire est atteinte.", true); } int status = PollVote.Create(vote); if (status != 1) { statusGlobal += 1; } } SessionState.Votes.Add(vote); SessionState.VotesEnCours.Remove(vote); } } } } if (statusGlobal != 0) { ValidationMessage.Text += "Erreur à la création des votes : " + statusGlobal.ToString(); ValidationMessage.Visible = true; return; } if (Request.QueryString["fin"] != null) { Page.Response.Redirect("~/Poll/QuestionnaireEnCours.aspx?valider=2", true); } Page.Response.Redirect("~/Poll/QuestionnaireEnCours.aspx?valider=1", true); }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack == false) { ScoreCollection scores = ScoreCollection.GetScoreQuestionnaire(SessionState.Questionnaire.QuestionnaireID); if (scores.Count > 0) { PanelScore.Visible = true; int scoreTotal = 0; int scoreInterviewe = 0; foreach (PollQuestion question in SessionState.Questions) { PollAnswerCollection answers = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer answer in answers) { PollVoteCollection pvc = SessionState.Votes.FindByAnswerID(answer.PollAnswerId); if (pvc.Count > 0) { foreach (PollVote vote in pvc) { scoreInterviewe += answer.Score; } } scoreTotal += answer.Score; } } LabelResultat.Text = "Vous avez un score de " + scoreInterviewe.ToString() + " sur un total de " + scoreTotal.ToString(); foreach (Score score in scores) { if (scoreInterviewe >= score.ScoreMin && scoreInterviewe <= score.ScoreMax) { LabelScoreTexte.Text += score.ScoreTexte; } } } // Ne pas envoyer d'email quand c'est un intervieweur ou l'admin if (User.Identity.IsAuthenticated == false) { MemberInfo membre = MemberInfo.Get(SessionState.Questionnaire.MembreGUID); MemberSettings memberSettings = MemberSettings.GetMemberSettings(membre.NomUtilisateur); if (memberSettings.PrevenirNouvelleReponse) { string sujetEmail = "Nouvelle réponse au questionnaire " + SessionState.Questionnaire.Description; string bodyEmail = ""; if (SessionState.Questionnaire.Anonymat == false) { bodyEmail += "Nom : " + SessionState.Personne.Nom + "<br/>"; bodyEmail += "Prénom : " + SessionState.Personne.Prenom + "<br/>"; bodyEmail += "Email : " + SessionState.Personne.EmailBureau + "<br/>"; bodyEmail += "Téléphone : " + SessionState.Personne.TelephonePerso + "<br/>"; } Limitation limitations = new Limitation(membre.MembreGUID); bodyEmail += "<br/>Abonnement crédits réponses : " + (limitations.NombreReponses - limitations.Reponses).ToString() + "<br/>"; bodyEmail += "<br/>Accès à l'application :<br/>" + string.Format("<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri) + "<br/>"; //Courriel.EnvoyerEmailNouvelleReponse( sujetEmail, bodyEmail ); Guid smtpMembreGUID = SessionState.Questionnaire.MembreGUID; Courriel.EnvoyerEmailNouvelleReponseAssynchrone(smtpMembreGUID, sujetEmail, bodyEmail); } } } }
/// <summary> /// !!!!!!!!!!!!! /// Attention !!! /// !!!!!!!!!!!!! /// Je ne peux pas utiliser cette fonction pour copier un questionnaire pour un utilisateur non authentifie /// On ne peut pas utiliser SessionState pour un utilisateur non authentifie /// lorsque l'utilisateur s'enregsitre mais qu'il n'est pas encore totalement authentifié /// SessionSate crée des Erreurs d'un autre monde !!! /// Si je voulais réintrégrer ce code dans Questionnaire/Copier.aspx il faudrait prendre cette précaution /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! /// Ce jour là il y a 5 nouveaux utilisateurs qui ce sont enregistrés ! /// </summary> /// <param name="QuestionnaireID"></param> /// <param name="MembreGUID"></param> /// <param name="QuestionnaireExistantID"></param> /// <returns></returns> public static string CopierQuestionnaire(int QuestionnaireID, Guid MembreGUID, int QuestionnaireExistantID) { string message = ""; string msg = ""; if (QuestionnaireID == 0) { message += "Choisir un questionnaire à copier.<br/>"; } else { int status = 0; MemberInfo membre = MemberInfo.GetMemberInfo(MembreGUID); Questionnaire questionnaire = Questionnaire.GetQuestionnaire(QuestionnaireID); Questionnaire newquestionnaire = new Questionnaire(); // Calculer un nouveau CodeAcces avant de pouvoir Copier le Questionnaire ArrayList codes = QuestionnaireDAL.GetCodeAccessAll(); string codeAcces = Tools.CalculCodeAcces(membre.MembreID, codes).ToString(); // Creation d'un nouveau Questionnaire if (QuestionnaireExistantID == 0) { newquestionnaire.Description = questionnaire.Description; newquestionnaire.Style = questionnaire.Style; newquestionnaire.Valider = questionnaire.Valider; newquestionnaire.Fin = questionnaire.Fin; newquestionnaire.Anonyme = questionnaire.Anonyme; newquestionnaire.Compteur = questionnaire.Compteur; newquestionnaire.DateCreation = DateTime.Now; newquestionnaire.MembreGUID = MembreGUID; newquestionnaire.CodeAcces = int.Parse(codeAcces); message += "<br />Création du Questionnaire : " + newquestionnaire.Description + ":" + newquestionnaire.CodeAcces + "<br />"; if (HttpContext.Current.User.IsInRole("Administrateur")) { message += "Pour le membre : " + membre.NomUtilisateur + "/" + membre.Nom + "/" + membre.Prenom + "<br />"; } //BUG00020100215 //if ( SessionState.Limitations.LimiteQuestionnaires ) //{ // Tools.PageValidation( "La limite du nombre de Questionnaires : " + SessionState.Limitations.NombreQuestionnaires + " est atteinte.<br/>Contactez l'administrateur." ); //} status = Questionnaire.Create(newquestionnaire); if (status == 1) { msg += "Copie du questionnaire d'exemple.<br/>"; message += "Questionnaire créé correctement.<br/>"; //BUG00020100215 //SessionState.Limitations.AjouterQuestionnaire(); } else if (status == 2) { msg += "Erreur à la copie du questionnaire exemple.<br/>"; message += "Le Questionnaire existe déjà.<br/>"; } else { msg += "Erreur à la copie du questionnaire exemple.<br/>"; message += "Erreur sur la création du Questionnaire<br/>"; } } else // Questionnaire existant { newquestionnaire = Questionnaire.GetQuestionnaire(QuestionnaireExistantID); message += "<br />Copie du Questionnaire : " + newquestionnaire.Description + ":" + newquestionnaire.CodeAcces + "<br />"; message += "Pour le membre : " + membre.NomUtilisateur + "/" + membre.Nom + "/" + membre.Prenom + "<br />"; } int rank = 0; // Conserver le rang des Questions avec un biais MaxRank if (QuestionnaireExistantID != 0) { PollQuestionCollection questionsExistantes = PollQuestionCollection.GetByQuestionnaire(QuestionnaireExistantID); rank = questionsExistantes.MaxRank() + 1; } PollQuestionCollection questions = PollQuestionCollection.GetByQuestionnaire(QuestionnaireID); foreach (PollQuestion question in questions) { message += "----Création de la Question : " + question.Question + "<br />"; PollQuestion q = new PollQuestion(); q.Question = question.Question; q.Rank = question.Rank + rank; // Ajouter le Biais q.Societe = question.Societe; q.Obligatoire = question.Obligatoire; q.Fin = question.Fin; q.ChoixMultiple = question.ChoixMultiple; q.ChoixMultipleMin = question.ChoixMultipleMin; //BUG20100330 q.ChoixMultipleMax = question.ChoixMultipleMax; q.CreationDate = DateTime.Now; q.Instruction = question.Instruction; q.Message = question.Message; q.MessageHaut = question.MessageHaut; q.SautPage = question.SautPage; q.Tableau = question.Tableau; q.AlignementQuestion = question.AlignementQuestion; q.AlignementReponse = question.AlignementReponse; q.QuestionnaireID = newquestionnaire.QuestionnaireID; q.MembreGUID = membre.MembreGUID; //BUG00020100215 //// 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." ); //} status = PollQuestion.Create(q); message += " status : " + status + "<br/>"; //BUG00020100215 //SessionState.Limitations.AjouterQuestion(); PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); foreach (PollAnswer reponse in reponses) { message += "----Création de la Réponse : " + reponse.Answer + "<br />"; PollAnswer a = new PollAnswer(); a.PollQuestionId = q.PollQuestionId; a.Answer = reponse.Answer; a.TypeReponse = reponse.TypeReponse; a.Width = reponse.Width; a.Rows = reponse.Rows; a.AlignLeft = reponse.AlignLeft; a.Horizontal = reponse.Horizontal; a.Obligatoire = reponse.Obligatoire; a.Rank = reponse.Rank; a.Score = reponse.Score; status = PollAnswer.Create(a); message += " status : " + status.ToString() + "<br />"; } } //foreach ( PollQuestion question in questions ) // Ne laisser faire qu'une copie //ButtonCopier.Visible = false; // // Attention BUG l'acces a SessionState cree un BUG d'un autre monde // // peut pas evaluer l'exepression car trop en haut de la pile //SessionState.Questionnaire = newquestionnaire; // Creation d'un nouveau Questionnaire //if ( QuestionnaireExistantID == 0 ) //{ // SessionState.Questionnaires.Add( newquestionnaire ); //} QuestionnaireID = 0; // fermer le formulaire QuestionnaireExistantID = 0; // Attention c'est faux Questionnaire.Create() retourn 1 si OK if (status != 0) { message += "Erreur à la copie du Questionnaire status : " + status.ToString() + "<br />"; } //ButtonAjouterQuestion.Visible = true; } //return message; return(msg); }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack == false) { // Formulaire en mode Impression // AME14112009 if (Request.QueryString["print"] != null || Request.QueryString["excel"] != null) { ImageButtonPrint.Visible = false; PanelControlSats.Visible = false; PanelAide.Visible = false; } if (Request.QueryString["print"] != null) { QuestionnaireControlStatAll.ModePrint = true; TrBoutonRetour.Visible = true; } if (Request.QueryString["excel"] != null) { PanelBoutonControl.Visible = false; // En fait cela revient a changer l'extension html en .xls // c'est totalement bidon ! Response.ContentType = "application/vnd.ms-excel"; // Set the content type to Excel Response.Charset = ""; // Remove the charset from the Content-Type header Page.EnableViewState = false; // Sinon Excel de merde ne sait pas lire le fichier genere !!! // Il faut absolument cette meta dans la MasterPage Print sinon cela ne marche pas pour // Excel d'ailleur en positionnant Charset ici on ne retrouve rien dans la source !...? // <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> QuestionnaireControlStatAll.ModeExcel = true; } // 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); } // Charger les votes pour ce Questionnaire if (SessionState.Questionnaire != null && Votes == null) { Votes = PollVoteCollection.GetPollVotesByQuestionnaireID(SessionState.Questionnaire.QuestionnaireID); Personnes = PersonneCollection.GetQuestionnaire(SessionState.Questionnaire.QuestionnaireID); initTableauVotesPersonnes(Personnes.Count, Personnes); LabelNombreContacts.Text = Personnes.Count.ToString(); } 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 pollQuestionCollection = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID); PollQuestion pollQuestion = pollQuestionCollection.FindByPollQuestionID(pollAnswer.PollQuestionId); // Cumuler les Reponses cliquees par l'utilisateur et les Questions Questions.Add(pollQuestion); Reponses.Add(pollAnswer); // BUB25092009 AfficherOnReponduATout(); } } // BUG25092009 il faut afficher tout ici if (Votes.Count > 0) { AfficherOnReponduATout(); } 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 = 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) { QuestionnaireControlStatAll.SelectedQuestionnaireID = SessionState.Questionnaire.QuestionnaireID; PersonnesDropDownListQui.Clear(); // Trouver les votants if (Votes.Count > 0) { int idx = 0; foreach (Personne p in Personnes) { //PollVoteCollection pvc = PollVoteCollection.GetPollVotes( SessionState.Questionnaire.QuestionnaireID, p.PersonneGUID ); //PollVoteCollection pvc = Votes.FindByPersonneGUID( p.PersonneGUID ); PollVoteCollection pvc = TableauVotesPersonnes[idx]; // A t il vote pour ce questionnaire ? if (pvc.Count > 0) { // Cacher les infos sur les votants if (SessionState.Questionnaire.Anonymat) { string personne = "personne" + idx.ToString(); DropDownListQui.Items.Add(personne); Personne anonymat = new Personne(); anonymat = p; anonymat.Nom = personne; anonymat.Prenom = ""; anonymat.EmailBureau = ""; anonymat.Civilite = ""; anonymat.TelephonePerso = ""; PersonnesDropDownListQui.Add(anonymat); // BUG07062010 je vois pas pourquoi !!! //ListBoxQui.Enabled = false; } else { string personne = FormatPersonne(p); DropDownListQui.Items.Add(personne); PersonnesDropDownListQui.Add(p); } } idx += 1; } } LabelVotes.Text = PersonnesDropDownListQui.Count.ToString(); QuestionnaireControlStatAll.PersonneVotants = PersonnesDropDownListQui; // Afficher les votes du premier votant if (PersonnesDropDownListQui.Count >= 1) { if (DropDownListQuiSelectedIndex != 0) { DropDownListQui.SelectedIndex = DropDownListQuiSelectedIndex; } Personne personne = PersonnesDropDownListQui[DropDownListQui.SelectedIndex]; QuestionnaireControlStatAll.SelectedQuestionnaireID = SessionState.Questionnaire.QuestionnaireID; QuestionnaireControlStatAll.SelectedPersonneGUID = personne.PersonneGUID; AfficherVotantEnModePrint(); } } CheckBoxAfficherReponseTextuelle.Checked = SessionState.CheckBox["CheckBoxAfficherReponseTextuelle"]; CheckBoxAfficherDateVote.Checked = SessionState.CheckBox["CheckBoxAfficherDateVote"]; CheckBoxAfficherMoyennePonderee.Checked = SessionState.CheckBox["CheckBoxAfficherMoyennePonderee"]; } }
// BUG10092009 remplace par l'utilisation du cache //private int QuestionnaireID //{ // get // { // if ( ViewState[ "QuestionnaireID" ] == null ) // { // ViewState[ "QuestionnaireID" ] = 0; // } // return ( int )ViewState[ "QuestionnaireID" ]; // } // set { ViewState[ "QuestionnaireID" ] = value; } //} //private int QuestionnaireExistantID //{ // get // { // if ( ViewState[ "QuestionnaireExistantID" ] == null ) // { // ViewState[ "QuestionnaireExistantID" ] = 0; // } // return ( int )ViewState[ "QuestionnaireExistantID" ]; // } // set { ViewState[ "QuestionnaireExistantID" ] = value; } //} //private Guid MembreGUID //{ // get // { // if ( ViewState[ "MembreGUID" ] == null ) // { // ViewState[ "MembreGUID" ] = Guid.Empty; // } // return ( Guid )ViewState[ "MembreGUID" ]; // } // set { ViewState[ "MembreGUID" ] = value; } //} //private int CodeAcces //{ // get // { // if ( ViewState[ "CodeAcces" ] == null ) // { // ViewState[ "CodeAcces" ] = 0; // } // return ( int )ViewState[ "CodeAcces" ]; // } // set { ViewState[ "CodeAcces" ] = value; } //} protected void Page_Load(object sender, System.EventArgs e) { if (IsPostBack == false) { if (Request.QueryString["MembreGUID"] != null) { Cache["MembreGUID"] = new Guid(Request.QueryString["MembreGUID"].ToString()); } else { ValidationMessage.Text += "Erreur pas de Questionnaire à copier !<br/>"; ValidationMessage.Visible = true; } Cache["CodeAcces"] = 0; if (Request.QueryString["CodeAcces"] != null) { Cache["CodeAcces"] = int.Parse(Request.QueryString["CodeAcces"].ToString()); } Cache["QuestionnaireExistantID"] = 0; if (Request.QueryString["QuestionnaireExistantID"] != null) { Cache["QuestionnaireExistantID"] = int.Parse(Request.QueryString["QuestionnaireExistantID"].ToString()); } if (( int )Cache["CodeAcces"] == 0 && (( int )Cache["QuestionnaireExistantID"]) == 0) { ValidationMessage.Text += "Erreur pas de code d'accès !<br/>"; ValidationMessage.Text += "Pas de Questionnaire à copier !<br/>"; ValidationMessage.Visible = true; } if (Request.QueryString["QuestionnaireID"] != null) { Cache["QuestionnaireID "] = int.Parse(Request.QueryString["QuestionnaireID"]); Questionnaire questionnaire = Questionnaire.GetQuestionnaire(( int )Cache["QuestionnaireID "]); ValidationMessage.Text += "Copie du Questionnaire : " + questionnaire.Description + ":" + questionnaire.CodeAcces + "<br />"; MemberInfo membre = MemberInfo.GetMemberInfo(( Guid )Cache["MembreGUID"]); if (User.IsInRole("Administrateur")) { ValidationMessage.Text += "Pour le membre : " + membre.NomUtilisateur + "/" + membre.Nom + "/" + membre.Prenom + "<br />"; } if (( int )Cache["CodeAcces"] != 0 && ( int )Cache["CodeAcces"] != questionnaire.CodeAcces && ( int )Cache["QuestionnaireExistantID"] == 0) { ValidationMessage.Text += "Nouveau code d'accès : " + ( int )Cache["CodeAcces"] + "<br />"; } ValidationMessage.Text += "<br />"; Cache["Questions"] = PollQuestionCollection.GetByQuestionnaire(( int )Cache["QuestionnaireID "]); foreach (PollQuestion question in (PollQuestionCollection)Cache["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 />"; } } if (( int )Cache["QuestionnaireExistantID"] != 0) { questionnaire = Questionnaire.GetQuestionnaire(( int )Cache["QuestionnaireExistantID"]); ValidationMessage.Text += "<br />"; ValidationMessage.Text += "Pour le Questionnaire : " + questionnaire.Description + ":" + questionnaire.CodeAcces + "<br />"; } ValidationMessage.Visible = true; } } }
void AfficherToutLesVotesEnBas(Guid pollQuestionID) { PanelReponsesEnBas.Controls.Clear(); bool afficherDateVote = SessionState.CheckBox["CheckBoxAfficherDateVote"]; PollQuestionCollection pollQuestionCollection = PollQuestionCollection.GetByQuestionnaire(SessionState.Questionnaire.QuestionnaireID); // On cumul les Questions cliquees par l'utilisateur if (pollQuestionID != Guid.Empty) { // La Collection se reduit a une seule Question PollQuestion pollQuestion = pollQuestionCollection.FindByPollQuestionID(pollQuestionID); // Cumuler les questions cliquees par l'utilisateur // Sauf si elle est deja dans QuestionsVotesEnBas // cela permet d'eviter de cumuler encore quand on passe aux formulaires print ou excel bool trouve = false; foreach (PollQuestion q in QuestionsVotesEnBas) { if (q.PollQuestionId == pollQuestionID) { trouve = true; break; } } if (trouve == false) { QuestionsVotesEnBas.Add(pollQuestion); } } else { // On prend toutes les questions du questionnaire QuestionsVotesEnBas = pollQuestionCollection; } // Si une sous-population est a l'etude on affiche que cette sous-population AME13072010 PersonneCollection personnesAffichees = new PersonneCollection(); PollVoteCollection[] tableauPollVotespersonnesAffichees; if (PersonnesOntReponduATout.Count > 0) { personnesAffichees = PersonnesOntReponduATout; // Il faut reafficher PanelReponse sinon il disparait // Attention ici on est appellé par ListBoxQui_SelectedIndexChange donc on doit faire un Clear PanelReponses.Controls.Clear(); AfficherEnHautReponsesDeSousPopulation(); tableauPollVotespersonnesAffichees = TableauVotesPersonnesOntReponduATout; } else { personnesAffichees = Personnes; tableauPollVotespersonnesAffichees = TableauVotesPersonnes; } foreach (PollQuestion question in QuestionsVotesEnBas) { PollAnswerCollection reponses = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId); Label labelQ = new Label(); labelQ.CssClass = "LabelQuestionStyle"; labelQ.Text = question.Rank.ToString() + " - " + question.Question; Table tableQ = new Table(); TableCell cellQ = new TableCell(); TableRow rowQ = new TableRow(); cellQ.Controls.Add(labelQ); rowQ.Controls.Add(cellQ); tableQ.Controls.Add(rowQ); PanelReponsesEnBas.Controls.Add(tableQ); foreach (PollAnswer reponse in reponses) { Table tableR = new Table(); TableCell cellR = new TableCell(); TableRow rowR = new TableRow(); Label labelR = new Label(); labelR.CssClass = "HyperLinkQuestionEnCoursStyle"; if (FormulaireEnModeExcel) { labelR.Text = "r : "; // ajouter un petit " r : " pour que ce con d'excel ne prenne pas ca pour une date } labelR.Text += reponse.Rank.ToString() + " - " + reponse.Answer; cellR.Controls.Add(labelR); rowR.Controls.Add(cellR); tableR.Controls.Add(rowR); PanelReponsesEnBas.Controls.Add(tableR); Table tableP = new Table(); int indexPollVotes = 0; foreach (Personne p in personnesAffichees) { PollVoteCollection pvc = tableauPollVotespersonnesAffichees[indexPollVotes].FindByAnswerID(reponse.PollAnswerId); string personne = FormatPersonne(p); foreach (PollVote pv in pvc) { // Table de Reponses des Interviewes TableCell cellP = new TableCell(); TableRow rowP = new TableRow(); if (afficherDateVote) { TableCell cellD = new TableCell(); cellD.Text = pv.CreationDate.ToString(); rowP.Cells.Add(cellD); } cellP.Text = personne; // OPT17072010 Strings.TexteToHTML( personne ); cellP.CssClass = "TableReponsePersonneStyle"; rowP.Cells.Add(cellP); tableP.Rows.Add(rowP); // Pour les reponses textuelles if (pv.Vote != "") { TableCell cellV = new TableCell(); cellV.Text = Strings.TexteToHTML(pv.Vote); rowP.Cells.Add(cellV); tableP.Rows.Add(rowP); } } if (pvc.Count > 0 /* votant */) { PanelReponsesEnBas.Controls.Add(tableP); } indexPollVotes += 1; } } } }