///// <summary> ///// Generate token and send email to validate email ///// </summary> ///// <param name="cand"></param> private void CourrielValidate(string email) { var user = UserManager.FindByName(email); if (user == null) { return; } string token = UserManager.GenerateEmailConfirmationToken(user.Id); token = token.Replace("+", "Replacement"); Courriel c = new Courriel(user.Email, user.FirstName + " " + user.LastName); string link = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port) + "/Account/ConfirmEmail?code=" + token + "&userid=" + user.Id; c.CourrielHTMLAsyncValidate(link); }
public ActionResult EditCourrier(Courriel courriel) { courriel.id_TypeCourriel = IdCourriel; if (courriel.DateFin != null) { if ((courriel.DateDebut - courriel.DateFin.Value).TotalDays > 0) { ModelState.AddModelError(string.Empty, Messages.LongueurDeQuatreCaracteres); } } if (ModelState.IsValid) { _db.Entry(courriel).State = EntityState.Modified; _db.SaveChanges(); TempData["Success"] = Messages.CourrielMisAJour(); } return(View()); }
public void CourrierGeneration() { courrier = new Courriel(); // TechTalk.SpecFlow.CurrentScenario.Add("sut", courrier); }
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"); } } }
protected void ButtonEnvoyer_Click(object sender, System.EventArgs e) { if (User.IsInRole("Administrateur")) { SessionState.ValidationMessage = "L'admin ne peut pas envoyer d'email."; Response.Redirect(Request.RawUrl); } BloquerQuestionnaire(SessionState.Questionnaire.Bloque); int indexRow = 0; foreach (GridViewRow r in GridViewContacts.Rows) { CheckBox cb = ( CheckBox )GridViewContacts.Rows[indexRow].FindControl("CheckBoxEnvoyerEmail"); if (cb.Checked) { Label civilite = ( Label )GridViewContacts.Rows[indexRow].FindControl("LabelCivilite"); Label nom = ( Label )GridViewContacts.Rows[indexRow].FindControl("LabelNom"); Label prenom = ( Label )GridViewContacts.Rows[indexRow].FindControl("LabelPrenom"); Label email = ( Label )GridViewContacts.Rows[indexRow].FindControl("LabelEmail"); Label societe = ( Label )GridViewContacts.Rows[indexRow].FindControl("LabelSociete"); Label code = ( Label )GridViewContacts.Rows[indexRow].FindControl("LabelCode"); Label personneGUID = ( Label )GridViewContacts.Rows[indexRow].FindControl("LabelPersonneGUID"); // Si email est vide c'est un interviewe par telephone if (email.Text.Trim() != string.Empty) { MailAddress adresse = new MailAddress(email.Text, prenom.Text + " " + nom.Text); if (CheckBoxEmailAssynchrone.Checked) { //EmailAssynchrone = true; //SessionState.ValidationMessage += Courriel.EnvoyerEmailQuestionnaireAssynchrone( adresse, civilite.Text, nom.Text, prenom.Text, code.Text ) + "<br />"; //Courriel.EnvoyerEmailQuestionnaireAssynchrone( adresse, civilite.Text, nom.Text, prenom.Text, code.Text, SessionState.Questionnaire.Description, personneGUID ); //SessionState.ValidationMessage += "message envoyé"; } else { EmailAssynchrone = false; SessionState.ValidationMessage += Courriel.EnvoyerEmailQuestionnaire(adresse, civilite.Text, nom.Text, prenom.Text, societe.Text, code.Text, SessionState.Questionnaire.Description, personneGUID.Text) + "<br />"; } if (SessionState.ValidationMessage.Contains("message envoyé")) { // Ajouter 1 aux envois d'emails Guid _personneGUID = new Guid(personneGUID.Text); Personne.UpdateEmailEnvois(_personneGUID); // Mettre a jour l'interface graphique pour ne pas avoir a recharger la page entiere Label emailEnvois = ( Label )GridViewContacts.Rows[indexRow].FindControl("LabelEmailEnvois"); emailEnvois.CssClass = "LabelListRedStyle"; int cptEnvois = int.Parse(emailEnvois.Text); cptEnvois += 1; emailEnvois.Text = cptEnvois.ToString(); emailEnvois.Visible = true; cb.Checked = false; } } else { cb.Checked = false; } } indexRow += 1; } MessageValider(); }
public static void EnvoyerEmailToAssynchrone(Guid smtpMembreGUID, string email, string sujet, string body) { ThreadPool.QueueUserWorkItem(delegate { Courriel.EnvoyerEmailTo(smtpMembreGUID, email, sujet, body); }); }
protected void Page_Load(object sender, EventArgs e) { string culture = CultureInfo.CurrentCulture.Name; if (User.Identity.IsAuthenticated == false) { // Donner le focus au bouton // Rappel AnonymousTemplate n'existe que si l'utilisateur n'est pas authentifie ! Login LoginControl = ( Login )LoginViewAuthentification.FindControl("LoginControl"); RolloverButton LoginButton = ( RolloverButton )LoginControl.FindControl("LoginButton"); Page.Form.DefaultButton = LoginButton.UniqueID; // BUG100920090003 Pour en finir avec toutes ces merdes d'authentification TextBox UserName = ( TextBox )LoginControl.FindControl("UserName"); TextBox Password = ( TextBox )LoginControl.FindControl("Password"); bool userIsValide = Membership.ValidateUser(UserName.Text, Password.Text); if (userIsValide) { MembershipUser user = Membership.GetUser(UserName.Text); if (Membership.GetUser(user.ProviderUserKey).UserName != UserName.Text) { // Remettre le "vrai" nom d'utilisateur et User.Identity.Name aura cette valeur UserName.Text = Membership.GetUser(user.ProviderUserKey).UserName; } } } if (IsPostBack == false) { if (User.Identity.IsAuthenticated) { Label LabelUserInRoles = ( Label )LoginViewAuthentification.FindControl("LabelUserInRoles"); LabelUserInRoles.Text = ""; string[] roles = Roles.GetRolesForUser(); if (roles.Length >= 0) { foreach (string r in roles) { LabelUserInRoles.Text += r; if (roles.Length > 1) { LabelUserInRoles.Text += " | "; } } } // // Envoit de l'email de connexion d'un utilisateur a l'admin // if (Global.SettingsXml.MembreConnexionPrevenir && (User.IsInRole("Administrateur") == false)) { // On ne sait pas empecher l'utilisateur de mettre des espace dans son nom d'utilisateur // ces espaces se retrouvnet dans User.Identity.Name et donc petage NULL REF // donc ici on met un Trim() MemberInfo membre = MemberInfo.GetMemberInfo(User.Identity.Name.Trim()); MembershipUser user = Membership.GetUser(User.Identity.Name.Trim()); string sujetEmail2 = "Connexion d'un Membre sur le site : " + Global.SettingsXml.SiteNom; string bodyEmail2 = ""; bodyEmail2 += "Nom d'utilisateur : " + membre.NomUtilisateur + "<br/>"; bodyEmail2 += "Nom : " + membre.Nom + "<br/>"; bodyEmail2 += "Prénom : " + membre.Prenom + "<br/>"; bodyEmail2 += "Société : " + membre.Societe + "<br/>"; bodyEmail2 += "Téléphone : " + membre.Telephone + "<br/>"; bodyEmail2 += "Adresse : " + membre.Adresse + "<br/>"; bodyEmail2 += "Email : " + user.Email + "<br/>"; bodyEmail2 += "Fin abonnement : " + membre.DateFinAbonnement.ToShortDateString() + "<br/>"; if (user.IsApproved == false) { bodyEmail2 += "<br>Cet utilisateur n'est pas approuvé.<br/>"; } if (user.IsLockedOut) { bodyEmail2 += "<br>Cet utilisateur est vérouillé.<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); } Response.Redirect("~/Wizard/Accueil.aspx"); } } }
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); } } } }
protected void ButtonEnregistrer_Click(object sender, System.EventArgs e) { // Est-ce un Robo ? if (IsCaptchaValid == false || Page.IsValid == false) { Response.Redirect(Tools.PageErreurPath + "IP:" + Request.UserHostAddress.ToString() + "<br/>Coming from:" + Request.UrlReferrer.ToString() + "<br/>Is Robot"); } ValidationMessage.Text = ""; MemberInfo membre = new MemberInfo(); MembershipCreateStatus memberCreateStatus = MembershipCreateStatus.InvalidAnswer; try { Boolean isAppouved = false; if (User.IsInRole("Administrateur")) { isAppouved = true; } else { isAppouved = Global.SettingsXml.MembreApprouve && (Global.SettingsXml.MembreApprouveParEmail == false); } Membership.CreateUser ( TextBoxNomUtilisateur.Text, TextBoxPassWord.Text, TextBoxEmail.Text, TextBoxQuestion.Text, TextBoxAnswer.Text, isAppouved, out memberCreateStatus ); switch (memberCreateStatus) { case MembershipCreateStatus.InvalidPassword: ValidationMessage.Text = "Mot de passe non valide.<br/>"; break; case MembershipCreateStatus.DuplicateUserName: ValidationMessage.Text = "Erreur : Cet utilisateur existe déjà.<br/>"; break; case MembershipCreateStatus.Success: MembershipUser user = Membership.GetUser(TextBoxNomUtilisateur.Text); ValidationMessage.Text += "Création de l'utilisateur avec succès.<br/>"; membre.MembreGUID = ( Guid )user.ProviderUserKey; membre.NomUtilisateur = user.UserName; membre.MotDePasse = TextBoxPassWord.Text; membre.Nom = TextBoxLastName.Text; membre.Prenom = TextBoxFisrtName.Text; membre.Societe = TextBoxSociete.Text; membre.Telephone = TextBoxTelephone.Text; membre.Adresse = TextBoxAdresse.Text; membre.LimiteQuestionnaires = int.Parse(Global.SettingsXml.GratuitLimiteQuestionnaires); membre.LimiteQuestions = int.Parse(Global.SettingsXml.GratuitLimiteQuestions); membre.LimiteInterviewes = int.Parse(Global.SettingsXml.GratuitLimiteInterviewes); membre.LimiteReponses = int.Parse(Global.SettingsXml.GratuitLimiteReponses); membre.DateFinAbonnement = DateTime.Now.AddMonths(1); int status = MemberInfo.Create(membre); if (status != 1) { ValidationMessage.Text += "Erreur de création des informations utilisateurs.<br/>"; Membership.DeleteUser(user.UserName); ValidationMessage.Text += "Suppression de l'utilisateur.<br/>"; } // Ajouter l'utilisateur dans le role Client Roles.AddUserToRole ( TextBoxNomUtilisateur.Text, "Client" ); // L'utilisateur est gratuit Roles.AddUserToRole ( TextBoxNomUtilisateur.Text, "Découverte" ); // Si ce n'est pas l'admin qui cree un compte if (User.IsInRole("Administrateur") == false) { FormsAuthentication.SetAuthCookie(user.UserName, false); } break; default: ValidationMessage.Text = "Erreur : MembershipCreateStatus non traité."; break; } } catch (Exception ex) { ValidationMessage.Text += "Erreur exception : " + ex.Message; } if (memberCreateStatus == MembershipCreateStatus.Success) { // // Copier les Sections de l'admin pour le nouvel utilisateur // copierWebContent(membre.NomUtilisateur); // Copier le questionnaire de l'Intervieweur pour le nouveau membre string message = ""; int code = int.Parse(Global.SettingsXml.CodeAccesQuestionnaireExemple); Questionnaire questionnaire = Questionnaire.GetByCodeAcces(code); if (questionnaire != null) { message = QuestionnaireCopier.CopierQuestionnaire(questionnaire.QuestionnaireID, membre.MembreGUID, 0); ValidationMessage.Text += "Copie du questionnaire d'exemple.<br/>"; } // // Envoyer l'email de registration au nouvel utilisateur // si ce n'est pas un Administrateur qui enregistre un nouvel utilisateur // if (HttpContext.Current.User.IsInRole("Administrateur") == false) { string sujetEmail = "Vous êtes enregistré sur le site : " + Global.SettingsXml.SiteNom; string bodyEmail = "Voici vos informations d'enregistrement à conserver :<br/>"; bodyEmail += "<br/>"; bodyEmail += "Nom d'utilisateur : " + membre.NomUtilisateur + "<br/>"; bodyEmail += "Mot de passe : " + membre.MotDePasse + "<br/>"; bodyEmail += "Nom : " + membre.Nom + "<br/>"; bodyEmail += "Prénom : " + membre.Prenom + "<br/>"; bodyEmail += "Société : " + membre.Societe + "<br/>"; bodyEmail += "Téléphone : " + membre.Telephone + "<br/>"; bodyEmail += "Adresse : " + membre.Adresse + "<br/>"; bodyEmail += "Email : " + TextBoxEmail.Text + "<br/>"; if (Global.SettingsXml.MembreApprouve == false && Global.SettingsXml.MembreApprouveParEmail == false) { bodyEmail += "<br/><b>Votre compte d'utilisateur est en attente d'approbation.</b><br/>"; ValidationMessage.Text += "Votre compte d'utilisateur est en attente d'approbation.<br/>"; } if (Global.SettingsXml.MembreApprouveParEmail == true) { bodyEmail += "<br/><b>Cliquez sur le lien suivant pour valider votre enregistrement :</b><br/>"; string lien = Utils.WebSiteUri.ToLower() + "/member/approuve.aspx?guid=" + membre.MembreGUID.ToString(); bodyEmail += string.Format("<a href=\"{0}\" >{1}</a>", lien, "Validez votre enregistrement") + "<br/>"; ValidationMessage.Text += "Vous allez recevoir un email pour valider votre enregistrement.<br/>"; } bodyEmail += "<br/>Lien d'accès à l'application :<br/>" + string.Format("<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri) + "<br/>"; MemberInfo member = MemberInfo.GetMemberInfo("admin"); Courriel.EnvoyerEmailToAssynchrone(member.MembreGUID, TextBoxEmail.Text, sujetEmail, bodyEmail); ValidationMessage.Text += "Informations de connexion envoyées à l'adresse : " + TextBoxEmail.Text + "<br/>"; } // // Envoyer l'email a l'administrateur // if (Global.SettingsXml.MembrePrevenir) { string sujetEmail2 = "Enregistrement d'un nouvel utilisateur sur le site : " + Global.SettingsXml.SiteNom; string bodyEmail2 = ""; bodyEmail2 += "Nom d'utilisateur : " + membre.NomUtilisateur + "<br/>"; bodyEmail2 += "Mot de passe : " + membre.MotDePasse + "<br/>"; bodyEmail2 += "Nom : " + membre.Nom + "<br/>"; bodyEmail2 += "Prénom : " + membre.Prenom + "<br/>"; bodyEmail2 += "Société : " + membre.Societe + "<br/>"; bodyEmail2 += "Téléphone : " + membre.Telephone + "<br/>"; bodyEmail2 += "Adresse : " + membre.Adresse + "<br/>"; bodyEmail2 += "Email : " + TextBoxEmail.Text + "<br/>"; if (Global.SettingsXml.MembreApprouve) { if (Global.SettingsXml.MembreApprouveParEmail) { bodyEmail2 += "<br/>Cet utilisateur est en attente d'approbation par email.<br/>"; } else { bodyEmail2 += "<br/>Cet utilisateur est approuvé.<br/>"; } } else { bodyEmail2 += "<br/>Cet utilisateur est en attente d'approbation.<br/>"; } bodyEmail2 += "<br/>Accès à l'application :<br/>" + string.Format("<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri) + "<br/>"; MemberInfo member = MemberInfo.GetMemberInfo("admin"); MembershipUser user = Membership.GetUser(member.MembreGUID); Courriel.EnvoyerEmailToAssynchrone(member.MembreGUID, user.Email, sujetEmail2, bodyEmail2); ValidationMessage.Text += "Email d'enregistrement envoyé à l'administrateur.<br/>"; } } ValiderMessage(); // Vider le formulaire pour que l'utilisateur ne s'enregitre pas plusieurs fois facilement TextBoxNomUtilisateur.Text = ""; TextBoxQuestion.Text = ""; TextBoxAnswer.Text = ""; TextBoxLastName.Text = ""; TextBoxFisrtName.Text = ""; TextBoxEmail.Text = ""; TextBoxSociete.Text = ""; TextBoxAdresse.Text = ""; TextBoxTelephone.Text = ""; CheckBoxConditionGenerales.Checked = false; }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack == false) { if (Request["guid"] == null) { ValidationMessage.Text = "Erreur"; // DEBUG obtenir le guid d'un membre //MembershipUser user = Membership.GetUser( User.Identity.Name ); //Guid MembreGUID = new Guid( user.ProviderUserKey.ToString() ); //string guid = MembreGUID.ToString(); } else { Guid MembreGUID = new Guid(Request.QueryString["guid"]); MembershipUser user = Membership.GetUser(MembreGUID); if (user == null) { ValidationMessage.Text = "Erreur, vous n'êtes pas membre."; } else { MemberSettings memberSettings = MemberSettings.GetMemberSettings(user.UserName); // L'utilisateur a deja ete approuve, precaution pour qu'un petit malin qui serait // desapprouve par l'admin retrouve l'email d'approbation et reclique dessus if (memberSettings.Approuve == true) { ValidationMessage.Text = "Vous êtes déjà approuvé, contactez l'administrateur."; } else { memberSettings.Approuve = true; memberSettings.Update(user.UserName, memberSettings); user.IsApproved = true; Membership.UpdateUser(user); ButtonLogin.Visible = true; ValidationMessage.Text += "Votre enregistrement est maintenant validé.<br/>"; ValidationMessage.Text += "Vous pouvez vous connecter à l'application.<br/>"; // // Envoyer l'email pour prevenir l'administrateur de l'approbation d'un utilisateur // if (Global.SettingsXml.MembrePrevenir) { string sujetEmail2 = "Approbation par le formulaire d'un nouvel utilisateur sur le site : " + Global.SettingsXml.SiteNom; string bodyEmail2 = ""; MemberInfo membre = MemberInfo.Get(MembreGUID); bodyEmail2 += "Nom d'utilisateur : " + membre.NomUtilisateur + "<br/>"; bodyEmail2 += "Mot de passe : " + membre.MotDePasse + "<br/>"; bodyEmail2 += "Nom : " + membre.Nom + "<br/>"; bodyEmail2 += "Prénom : " + membre.Prenom + "<br/>"; bodyEmail2 += "Société : " + membre.Societe + "<br/>"; bodyEmail2 += "Téléphone : " + membre.Telephone + "<br/>"; bodyEmail2 += "Adresse : " + membre.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 member = MemberInfo.GetMemberInfo("admin"); MembershipUser admin = Membership.GetUser(member.MembreGUID); Courriel.EnvoyerEmailToAssynchrone(member.MembreGUID, admin.Email, sujetEmail2, bodyEmail2); } } } } } ValiderMessage(); }
protected void ButtonSauver_Click(object sender, System.EventArgs e) { if (DropDownListWebContentSection.SelectedSection == "-1") { SessionState.ValidationMessage += "Sélectionnez une Section.<br/>"; } if (!WebContent.CanEdit()) { SessionState.ValidationMessage += "Vous n'avez pas les droits pour éditer cette section.<br/>"; } if (SessionState.ValidationMessage != null) { Response.Redirect(Request.RawUrl); } string newContenu = ""; string oldContenu = ""; if (FCKeditor1.Value == "") { newContenu = "<p></p>"; } else { newContenu = FCKeditor1.Value; } oldContenu = SessionState.WebContent.SectionContent; SessionState.WebContent.SectionContent = newContenu; SessionState.WebContent.Section = DropDownListWebContentSection.SelectedSection; if (DropDownListWebContentSection.SelectedSection == "CorpsEmail") { LogonInterviewe logon = new LogonInterviewe(newContenu); if (logon.Message != "") { ValidationMessage.Text = logon.Message; ValidationMessage.Visible = true; return; } } if (User.IsInRole("Administrateur")) { if (DropDownListMembre.SelectedMembre != "-1") { // Admin sauve la page pour lui meme if (DropDownListMembre.SelectedMembre == "-1") { SessionState.WebContent.Utilisateur = WebContent.Admin; } else // Trouver l'utilisateur { Guid membreGuid = ( Guid )DropDownListMembre.MembreGUID[DropDownListMembre.SelectedIndex - 1]; MemberInfo membre = MemberInfo.Get(membreGuid); SessionState.WebContent.Utilisateur = membre.NomUtilisateur; } } } string codeAccess = ""; if (DropDownListQuestionnaire.SelectedQuestionnaire == "-1") // "-1" valeur mise par le composant { codeAccess = WebContent.ToutLeMonde; } else { codeAccess = DropDownListQuestionnaire.SelectedCodeAcces; } SessionState.WebContent.Visualisateur = codeAccess; int status = WebContent.Update(SessionState.WebContent); if (status == 2) // n'existe pas { // l'utilisateur a changer le visualisateur d'une page existante SessionState.ValidationMessage += "La Page n'existait pas.<br/>"; int statusCreate = WebContent.Create(SessionState.WebContent); if (statusCreate != 1) { SessionState.ValidationMessage += "Erreur à la Creation de cette Page.<br/>"; } else { SessionState.ValidationMessage += "Elle est créée avec succès.<br />"; } // Create a le bon gout de mettre a jour l'id du nouvel objet cree Response.Redirect("~/WebContent/Edit.aspx?id=" + SessionState.WebContent.WebContentID); } if (status == 0) { SessionState.ValidationMessage += "Erreur serveur à la mise à jour de la Page.<br/>"; Response.Redirect(Request.RawUrl); } // Update string adrIP = Request.ServerVariables["REMOTE_ADDR"]; if (Global.SettingsXml.EnvoyerMiseAjour == true) { Courriel.EnvoyerMiseAJour(oldContenu, newContenu, "Mise à jour", SessionState.WebContent.Section, adrIP); } if (Request["ReturnURL"] != null) { Response.Redirect(Request["ReturnURL"].ToString()); } else { Response.Redirect("~/WebContent/Manage.aspx"); } }
public void AddCourriel(Courriel newCourriel) { courriels.Add(newCourriel); contentUpdate.Invoke(); }