Example #1
0
        /// <summary>
        /// Creer la table "traduire" la table au format CSV
        /// </summary>
        // On remarque que toutes les infos ne sont extraites du carnet d'adresse
        public static DataTable CreateTable()
        {
            ArrayList         entetes  = new ArrayList();
            ColonneCollection colonnes = new ColonneCollection(HeaderColumns);

            for (int i = 0; i < colonnes.Count; i++)
            {
                // Pas de ";" pour la derniere colonne
                if (i < colonnes.Count - 1)
                {
                    entetes.Add(colonnes[i].Nom + ";");
                }
                else
                {
                    entetes.Add(colonnes[i].Nom);
                }
            }

            DataTable dt = new DataTable();

            foreach (string entete in entetes)
            {
                DataColumn colonne = new DataColumn(entete, System.Type.GetType("System.String"));
                dt.Columns.Add(colonne);
            }

            PersonneCollection personnes = PersonneCollection.GetAll();

            foreach (Personne p in personnes)
            {
                DataRow dr;
                dr = dt.NewRow();

                dr[entetes[0].ToString()]  = p.Civilite + ";";
                dr[entetes[1].ToString()]  = p.Nom + ";";
                dr[entetes[2].ToString()]  = p.Prenom + ";";
                dr[entetes[3].ToString()]  = p.EmailBureau + ";";
                dr[entetes[4].ToString()]  = p.Adresse + ";";
                dr[entetes[5].ToString()]  = p.Ville + ";";
                dr[entetes[6].ToString()]  = p.CodePostal + ";";
                dr[entetes[7].ToString()]  = p.TelephonePerso + ";";
                dr[entetes[8].ToString()]  = p.TelephoneBureau + ";";
                dr[entetes[9].ToString()]  = p.TelephoneMobile + ";";
                dr[entetes[10].ToString()] = p.Fax + ";";
                dr[entetes[11].ToString()] = p.Societe + ";";
                dr[entetes[12].ToString()] = p.Fonction + ";";
                dr[entetes[13].ToString()] = p.LienHTML + ";";
                dr[entetes[14].ToString()] = p.Memo;     //+ ";";

                dt.Rows.Add(dr);
            }

            return(dt);
        }
    protected void Page_Load( object sender, EventArgs e )
    {
        // Un truc bisard : un bas du Page_Load ca marche pas ?
        InititializeCaptcha();

        if ( IsPostBack == false )
        {
            // Mode par defaut du Formulaire
            ModeFormulaire = Mode.AdresseEmail;

            if ( Request.QueryString[ "mod" ] != null )
            {
                int mode = ( int )Mode.AdresseEmail;
                try
                {
                    mode = int.Parse( Request.QueryString[ "mod" ] );
                }
                catch
                {
                    ValidationMessage.Text = "Mode du formulaire incorrecte";
                    ValidationMessage.CssClass = "LabelValidationMessageErrorStyle";
                    ValidationMessage.Visible = true;
                    return;
                }
                switch ( mode )
                {
                    case 1:
                        ModeFormulaire = Mode.AdresseEmail;
                        break;
                    case 2:
                        ModeFormulaire = Mode.Telephone;
                        break;
                }
            }

            // Mise en mode du formulaire
            FormulaireEnMode( ModeFormulaire ); 

            bool authentifie = false;

            // Authentification automatique de l'interviewe
            if ( Request[ "guid" ] != null )
            {
                string guid = Request[ "guid" ].ToString();
                PersonneCollection personnes = PersonneCollection.GetAll();
                foreach ( Personne p in personnes )
                {
                    if ( p.PersonneGUID == new Guid( guid )  )
                    {
                        authentifie = true;
                        SessionState.Personne = p;
                        break;
                    }
                }

                // BUG02122009
                if ( authentifie == false && User.Identity.IsAuthenticated == false )
                {
                    SessionState.ValidationMessage = "Désolé mais votre ticket pour répondre à ce questionnaire n'est pas valable.";
                    ValidationMessage.Text = SessionState.ValidationMessage;
                    ValidationMessage.Visible = true;
                    WebContentLoginContact.Visible = false;
                    PanelLoginContact.Visible = false;
                    return;
                }
            }

            if ( authentifie == true )
            {
                // Entree dans l'application
                //FormsAuthentication.SignOut(); // Deconnecter un eventuel utilisateur 
                // NON on peut pas sinon la case "Memoriser ma connexion" ne sert plus a rien
                Response.Redirect( "~/Accueil.aspx" );
            }
        }

        ValiderMessage();
    }
    protected void LoginButton_Click( object sender, System.EventArgs e )
    {
        // Est-ce un Robo ?
        if ( Page.IsValid == false || IsCaptchaValid == false )
            Response.Redirect( Tools.PageErreurPath + "IP:" + Request.UserHostAddress.ToString() + "<br/>Coming from:" + Request.UrlReferrer.ToString() + "<br/>Is Robot" );

        // Annulation des variables de Session precedentes
        Session.Clear();
        bool courrielleOK = false;
        bool telephoneOK = false;
        bool codeOK = false;

        if ( Strings.IsValideEmail( TextBoxAdresseCourrielle.Text ) && ModeFormulaire == Mode.AdresseEmail )
        {
            PersonneCollection personnes = PersonneCollection.GetAll();
            foreach ( Personne p in personnes )
            {
                if ( p.EmailBureau == TextBoxAdresseCourrielle.Text.Trim() )
                {
                    courrielleOK = true;
                }
                if ( courrielleOK && p.CodeAcces.ToString() == TextBoxCodeAcces.Text.Trim() )
                {
                    codeOK = true;
                    SessionState.Personne = p;
                    break;
                }
            }
        }

        if ( Strings.IsValideTelephone( TextBoxTelephone.Text ) && ModeFormulaire == Mode.Telephone )
        {
            PersonneCollection personnes = PersonneCollection.GetAll();
            foreach ( Personne p in personnes )
            {
                if ( p.TelephonePerso == TextBoxTelephone.Text.Trim() )
                {
                    telephoneOK = true;
                }
                if ( telephoneOK && p.CodeAcces.ToString() == TextBoxCodeAcces.Text.Trim() )
                {
                    codeOK = true;
                    SessionState.Personne = p;
                    break;
                }
            }
        }

        if ( ( courrielleOK || telephoneOK ) && codeOK )
        {
            FormsAuthentication.SignOut(); // Deconnecter un eventuel utilisateur
            Response.Redirect( "~/Accueil.aspx" );
        }
        else
        {
            SessionState.ValidationMessage = "Désolé mais nous n'avons pas pu vous authentifier.";
            if ( courrielleOK == false && ModeFormulaire == Mode.AdresseEmail )
            {
                SessionState.ValidationMessage += "<br/>L'Adresse courrielle n'est pas valide.";
            }
            if ( telephoneOK == false && ModeFormulaire == Mode.Telephone )
            {
                SessionState.ValidationMessage += "<br/>Le Numéro de téléphone n'est pas valide.";
            }
            if ( codeOK == false )
            {
                SessionState.ValidationMessage += "<br/>Le Code d'accès n'est pas valide.";
            }
            ValiderMessage();
            return;
        }
    }
Example #4
0
        // Creer la table "traduire" la table au format Outlook
        public static DataTable CreateTable()
        {
            ArrayList entetes = new ArrayList();

            // Creer artificiellement une colonne "Titre" vide !
            // on lui baise la gueule a outlook de merde avec son format pourri
            // on remarquera l'espace dans le titre de la colonne sinon erreur :
            // elle existe deja dans le DataTable et c'est la cata ca voudrait
            // qu'on ne peut pas utiliser un DataTable mais ca marche alors
            //entetes.Add( "\"Titre \"," );

            ColonneCollection colonnes = new ColonneCollection(HeaderColumns);

            for (int i = 0; i < colonnes.Count; i++)
            {
                // Pas de "," pour la derniere colonne
                if (i < colonnes.Count - 1)
                {
                    entetes.Add("\"" + colonnes[i].Nom + "\",");
                }
                else
                {
                    entetes.Add("\"" + colonnes[i].Nom + "\"");
                }
            }

            DataTable dt = new DataTable();

            foreach (string entete in entetes)
            {
                DataColumn colonne = new DataColumn(entete, System.Type.GetType("System.String"));
                dt.Columns.Add(colonne);
            }

            PersonneCollection personnes = PersonneCollection.GetAll();

            foreach (Personne p in personnes)
            {
                DataRow dr;
                dr = dt.NewRow();

                dr[entetes[0].ToString()]  = "\"" + p.Civilite + "\",";
                dr[entetes[1].ToString()]  = "\"" + p.Nom + ", " + p.Prenom + "\",";
                dr[entetes[2].ToString()]  = "\"" + p.Prenom + "\",";
                dr[entetes[3].ToString()]  = "\"" + p.Societe + "\",";
                dr[entetes[4].ToString()]  = "\"" + p.Fonction + "\",";
                dr[entetes[5].ToString()]  = "\"" + p.EmailPerso + "\",";
                dr[entetes[6].ToString()]  = "\"" + p.EmailBureau + "\",";
                dr[entetes[7].ToString()]  = "\"" + p.Adresse + "\",";
                dr[entetes[8].ToString()]  = "\"" + p.Ville + "\",";
                dr[entetes[9].ToString()]  = "\"" + p.CodePostal + "\",";
                dr[entetes[10].ToString()] = "\"" + p.TelephonePerso + "\",";
                dr[entetes[11].ToString()] = "\"" + p.TelephoneBureau + "\",";
                dr[entetes[12].ToString()] = "\"" + p.TelephoneMobile + "\",";
                dr[entetes[13].ToString()] = "\"" + p.Fax + "\",";
                dr[entetes[14].ToString()] = "\"" + p.LienHTML + "\",";
                dr[entetes[15].ToString()] = "\"" + p.Memo + "\"";     // pas de virgule pour la derniere valeur

                dt.Rows.Add(dr);
            }

            return(dt);
        }