/// <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; } }
// 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); }