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);
                }
            }
        }
    }
示例#2
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();
    }