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; } }
/// <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); }
private void ImporterFichier() { DateTime dateDebutAnalyse = DateTime.Now; if (User.IsInRole("Administrateur") && MemberInfoData == null) { MessageAnalyse = "Désolé Admin, sélectionnez un Membre pour importer des données."; EventFinImport.Set(); FinTraitement = true; return; } if (DocumentNom.PostedFile.FileName == "") { MessageAnalyse = "Choisissez un fichier à importer. "; EventFinImport.Set(); FinTraitement = true; return; } if (CheckBoxImportVotes.Checked && CheckBoxImportInterviewes.Checked == false) { CheckBoxExportIntervieves.Checked = true; MessageAnalyse = "Vous ne pouvez pas importer les votes sans exporter les interviewés. "; EventFinImport.Set(); FinTraitement = true; return; } HttpPostedFile file = DocumentNom.PostedFile; int size = file.ContentLength; if (size <= 0) { MessageAnalyse = "Un problème est survenu avec le téléchargement du fichier sur le serveur, le fichier n'est pas disponible. "; EventFinImport.Set(); FinTraitement = true; return; } String virtualPath = "~/MemberDataFiles/"; string filePath = virtualPath; virtualPath += Path.GetFileName(DocumentNom.PostedFile.FileName); String physicalDir = Server.MapPath(filePath); String physicalPath = Server.MapPath(virtualPath); // Sauver le fichier try { int tailleMax = 10 * 1024 * 1024; // 10 Mo if (DocumentNom.PostedFile.ContentLength >= tailleMax) { MessageAnalyse += "Error taille du fichier : " + Tools.FileSizeFormat(DocumentNom.PostedFile.ContentLength, "N"); MessageAnalyse += " supérieure à la taille maximum : " + Tools.FileSizeFormat(tailleMax, "N"); EventFinImport.Set(); FinTraitement = true; return; } DocumentNom.PostedFile.SaveAs(physicalPath); } catch (Exception ex) { MessageAnalyse += ex.Message; EventFinImport.Set(); FinTraitement = true; return; } DataSet dataSet = new DataSet(); try { XmlReader xmlr = XmlReader.Create(physicalPath); dataSet.ReadXml(xmlr); xmlr.Close(); } catch { MessageAnalyse += "Fichier non valide. "; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } // Dans le cadre d'un Tread on ne peut pas utiliser SessionState Limitation limitations = new Limitation(MemberInfoData.MembreGUID); // // Creer les Questionnaires // foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Questionnaire")) { // Tester les limitations avant d'ajouter le questionnaire if (limitations.LimiteQuestionnaires) { MessageAnalyse += "La limite du nombre de Questionnaires : " + limitations.NombreQuestionnaires + " est atteinte."; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } Questionnaire questionnaire = Questionnaire.FillFromXML(dt.Rows[0]); int oldQuestionnaireID = questionnaire.QuestionnaireID; string oldCodeAcces = questionnaire.CodeAcces.ToString(); questionnaire.MembreGUID = MemberInfoData.MembreGUID; questionnaire.DateCreation = DateTime.Now; // Modifier la date de creation a maintenant ArrayList codes = QuestionnaireDAL.GetCodeAccessAll(); string codeAcces = Tools.CalculCodeAcces(MemberInfoData.MembreID, codes).ToString(); questionnaire.CodeAcces = int.Parse(codeAcces); int status = Questionnaire.Create(questionnaire); if (status == 1) { MessageAnalyse += "Questionnaire : " + questionnaire.Description + " créé correctement.<br/>"; limitations.AjouterQuestionnaire(); } else if (status == 2) { MessageAnalyse += "Le Questionnaire : " + questionnaire.Description + " existe déjà.<br>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } else { MessageAnalyse += "Erreur sur la création du Questionnaire : " + questionnaire.Description + " <br/>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } // // Tagger les Objets du Questionnaire avec le nouvel ID // int newQuestionnaireID = questionnaire.QuestionnaireID; string newCodeAcces = codeAcces; // Questions TaggerObjet(ref dataSet, "QQuestion", "QuestionnaireID", oldQuestionnaireID.ToString(), newQuestionnaireID.ToString()); // Interviewe TaggerObjet(ref dataSet, "Personne", "QuestionnaireID", oldQuestionnaireID.ToString(), newQuestionnaireID.ToString()); TaggerObjet(ref dataSet, "Personne", "PersonneCode", oldCodeAcces, newCodeAcces); // Votes TaggerObjet(ref dataSet, "Vote", "QuestionnaireID", oldQuestionnaireID.ToString(), newQuestionnaireID.ToString()); // Score TaggerObjet(ref dataSet, "Score", "ScoreQuestionnaireID", oldQuestionnaireID.ToString(), newQuestionnaireID.ToString()); } if (dt.TableName.Contains("QQuestion")) { // On passe aux Questions break; } } // // Creer les Questions // int nbQuestions = 0; foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("QQuestion")) { // Tester les limitations avant d'ajouter la question if (limitations.LimiteQuestions) { MessageAnalyse += "La limite du nombre de Questions : " + limitations.NombreQuestions + " est atteinte."; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } PollQuestion question = PollQuestion.FillFromXML(dt.Rows[0]); string oldQuestionID = question.PollQuestionId.ToString(); question.MembreGUID = MemberInfoData.MembreGUID; int status = PollQuestion.Create(question); if (status != 0) { MessageAnalyse += "Erreur à la création de la Question : " + question.Question + "<br/>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } else { nbQuestions += 1; limitations.AjouterQuestion(); } // // Tagger les Objets de la Question avec le nouvel ID // string newQuestionID = question.PollQuestionId.ToString(); // Reponse TaggerObjet(ref dataSet, "Reponse", "PollQuestionId", oldQuestionID, newQuestionID); // Votes TaggerObjet(ref dataSet, "Vote", "PollQuestionId", oldQuestionID, newQuestionID); } if (dt.TableName.Contains("Reponse")) { // On passe aux Reponses break; } } MessageAnalyse += "Question créées : " + nbQuestions.ToString() + "<br/>"; int nbReponses = 0; foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Reponse")) { PollAnswer reponse = PollAnswer.FillFromXML(dt.Rows[0]); string oldPollAnswerID = reponse.PollAnswerId.ToString(); int status = PollAnswer.Create(reponse); if (status == 0) { nbReponses += 1; } else { MessageAnalyse += "Erreur à la création de la réponse : " + reponse.Answer; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } // // Tagger les Objets de la Reponse avec le nouvel ID // string newPollAnswerID = reponse.PollAnswerId.ToString(); // Votes TaggerObjet(ref dataSet, "Vote", "PollAnswerId", oldPollAnswerID, newPollAnswerID); } if (dt.TableName.Contains("Personne")) { break; } } MessageAnalyse += "Réponses créés : " + nbReponses.ToString() + "<br/>"; int nbInterviewes = 0; if (CheckBoxImportInterviewes.Checked) { foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Personne")) { string message = ""; Personne personne = Personne.FillFromXML(dt.Rows[0]); string oldPersonneGUID = personne.PersonneGUID.ToString(); // Trouver si l'utilisateur de ce questionnaire est limite if (limitations.LimitesInterviewes) { MessageAnalyse += "La limite du nombre d'Interviewés : " + limitations.NombreInterviewes + " est atteinte."; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } int retCode = Personne.Create(personne, true, ref message); if (retCode == 1) { nbInterviewes += 1; limitations.AjouterInterviewes(1); } else { MessageAnalyse += message; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } // // Tagger les Objets de la Reponse avec le nouvel ID // string newPersonneGUID = personne.PersonneGUID.ToString(); // Votes TaggerObjet(ref dataSet, "Vote", "UserGUID", oldPersonneGUID, newPersonneGUID); } if (dt.TableName.Contains("Vote")) { break; } } } MessageAnalyse += "Interviewés créés : " + nbInterviewes.ToString() + "<br/>"; int nbVotes = 0; if (CheckBoxImportVotes.Checked) { foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Vote")) { PollVote vote = PollVote.FillFromXML(dt.Rows[0]); int status = PollVote.Create(vote); if (status == 2) { MessageAnalyse += "Vote existe déjà"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } else { nbVotes += 1; } } if (dt.TableName.Contains("Score")) { break; } } if (limitations.LimitesReponses) { MessageAnalyse += "La limite du nombre de Réponses : " + limitations.NombreReponses + " est atteinte."; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } } MessageAnalyse += "Votes créés : " + nbVotes.ToString() + "<br/>"; int nbScore = 0; foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("Score")) { Score score = Score.FillFromXML(dt.Rows[0]); int status = Score.Create(score); if (status != 1) { MessageAnalyse += "Erreur à la création du Score .<br/>"; } else { nbScore += 1; } } } MessageAnalyse += "Score créés : " + nbScore.ToString() + "<br/>"; if (CheckBoxImportServeurSmtp.Checked) { foreach (DataTable dt in dataSet.Tables) { if (dt.TableName.Contains("SmtpServeur")) { SmtpServer smtp = SmtpServer.FillFromXML(dt.Rows[0]); smtp.UserGUID = MemberInfoData.MembreGUID; int status = SmtpServer.Create(smtp); if (status == 2) { MessageAnalyse += "Smtp : " + smtp.Email + " existe déjà.<br/>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; return; } else { MessageAnalyse += "Smtp crée correctement : " + smtp.Email + "<br/>"; } } } } DateTime dateFinAnalyse = DateTime.Now; TimeSpan tempsTraitement = dateFinAnalyse - dateDebutAnalyse; MessageAnalyse += "- Taille du fichier : " + Tools.FileSizeFormat(DocumentNom.PostedFile.ContentLength, "N") + "<br/>"; MessageAnalyse += "- Temps d'import : " + Tools.FormatTimeSpan(tempsTraitement) + "<br/>"; File.Delete(physicalPath); EventFinImport.Set(); FinTraitement = true; }
protected void ButtonSave_Click(object sender, EventArgs e) { ValidationMessage.Text = ""; ValidationMessage.CssClass = "LabelValidationMessageStyle"; if (TextBoxDescription.Text.Trim().Length == 0) { ValidationMessage.Text += "Entrer le Nom du Questionnaire<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; } if (LabelNom.Text.Trim().Length == 0 || LabePrenom.Text.Trim().Length == 0 || LabelSociete.Text.Trim().Length == 0 ) { ValidationMessage.Text += "Choisir un membre<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; } if (ValidationMessage.Text != "") { ValidationMessage.Visible = true; return; } // C'est une mise a jour if (QuestionnaireID != 0) { Questionnaire questionnaire = Questionnaire.GetQuestionnaire(QuestionnaireID); questionnaire.Description = TextBoxDescription.Text; questionnaire.Valider = CheckBoxValider.Checked; questionnaire.Fin = CheckBoxFin.Checked; questionnaire.Anonyme = CheckBoxAnonyme.Checked; HtmlInputCheckBox checkBox = (HtmlInputCheckBox)PopupLabelAnonymat.FindControl("CheckBoxToggleLabel"); if (checkBox.Checked) { questionnaire.Anonymat = checkBox.Checked; checkBox.Disabled = true; } questionnaire.Bloque = CheckBoxBloque.Checked; questionnaire.Publier = CheckBoxPublierQuestionnaire.Checked; questionnaire.Compteur = CheckBoxAfficherCompteur.Checked; MemberInfo membre = MemberInfo.GetMemberInfo(LabelNom.Text, LabePrenom.Text); questionnaire.MembreGUID = membre.MembreGUID; int status = Questionnaire.Update(questionnaire); if (status == 1) { ValidationMessage.Text += "Questionnaire mis à jour correctement.<br/>"; } else if (status == 2) { ValidationMessage.Text += "Erreur sur la mise à jour du Questionnaire, il n'existe pas.<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; } else { ValidationMessage.Text += "Erreur sur la mise à jour du Questionnaire.<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; } // Forcer les Questionnaires a se recharger depuis la Base de Donnees SessionState.Questionnaires = null; // BUG10112009 //SessionState.Questionnaire = null; SessionState.Questionnaire = questionnaire; } else // C'est une creation { Questionnaire questionnaire = new Questionnaire(); questionnaire.Description = TextBoxDescription.Text; questionnaire.Style = "Défaut.xml"; questionnaire.Valider = CheckBoxValider.Checked; questionnaire.Fin = CheckBoxFin.Checked; questionnaire.Anonyme = CheckBoxAnonyme.Checked; HtmlInputCheckBox checkBox = ( HtmlInputCheckBox )PopupLabelAnonymat.FindControl("CheckBoxToggleLabel"); if (checkBox.Checked) { questionnaire.Anonymat = checkBox.Checked; checkBox.Disabled = true; } questionnaire.Bloque = CheckBoxBloque.Checked; questionnaire.Publier = CheckBoxPublierQuestionnaire.Checked; questionnaire.DateCreation = DateTime.Now; questionnaire.MembreGUID = new Guid(HiddenFieldMembreGUID.Value); questionnaire.CodeAcces = int.Parse(LabelCodeAcces.Text); questionnaire.Compteur = CheckBoxAfficherCompteur.Checked; // Tester les limitations avant d'ajouter le questionnaire if (SessionState.Limitations.LimiteQuestionnaires) { Tools.PageValidation("La limite du nombre de Questionnaires : " + SessionState.Limitations.NombreQuestionnaires + " est atteinte.<br/>Contactez l'administrateur."); } int status = Questionnaire.Create(questionnaire); if (status == 1) { ValidationMessage.Text += "Questionnaire créé correctement.<br/>"; // Maintenant on peut ajouter des Questions ButtonAjouterQuestion.Visible = true; ButtonSave.Visible = false; // Prendre en compte le nouveau Questionnaire SessionState.Questionnaires.Add(questionnaire); SessionState.Questionnaire = questionnaire; SessionState.Limitations.AjouterQuestionnaire(); } else if (status == 2) { ValidationMessage.Text += "Le Questionnaire existe déjà.<br>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; } else { ValidationMessage.Text += "Erreur sur la création du Questionnaire<br/>"; ValidationMessage.CssClass = "LabelValidationMessageErrorStyle"; } } ValidationMessage.Visible = true; }