///// <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);
        }
Exemple #2
0
        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);
 }
Exemple #4
0
    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();
    }
Exemple #6
0
 public static void EnvoyerEmailToAssynchrone(Guid smtpMembreGUID, string email, string sujet, string body)
 {
     ThreadPool.QueueUserWorkItem(delegate { Courriel.EnvoyerEmailTo(smtpMembreGUID, email, sujet, body); });
 }
Exemple #7
0
    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;
    }
Exemple #10
0
    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();
    }
Exemple #11
0
    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");
        }
    }
Exemple #12
0
    public void AddCourriel(Courriel newCourriel)
    {
        courriels.Add(newCourriel);

        contentUpdate.Invoke();
    }