protected void ButtonMail2_Click(object sender, EventArgs e) { Regex verifMail = new Regex(@"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$", RegexOptions.IgnoreCase); if (TextBoxMail2.Text != "") { if (verifMail.IsMatch(TextBoxMail2.Text.Trim()) == true) { Label2.Visible = false; RequeteBien alerte = (RequeteBien)Session["requete"]; alerte.ID_CLIENT = TextBoxMail2.Text; if (alerte.ID_ALERTE.Equals(0)) { AlerteMailDAO.addAlerteMail(alerte); } else { AlerteMailDAO.updateAlerteMail(alerte); } Label2.Visible = true; Label2.Text = "Votre alerte mail pour " + alerte.ID_CLIENT + " vient d'être créé."; } else { Label2.Visible = true; Label2.Text = "erreur de saisie, adresse e-mail invalide"; } } }
protected void ButtonSupprimer_Click(object sender, EventArgs e) { Int32 reference = Int32.Parse(Session["referenceAlerteMail"].ToString()); Membre member = (Membre)Session["membre"]; AlerteMailDAO.removeAlerteMail(reference); Response.Redirect("./monCompteAlertes.aspx"); }
protected void Page_Load(object sender, EventArgs e) { ((Label)Page.Master.FindControl("titrebandeau")).Text = "Mes alertes"; String reference = ""; if (Session["logged"].Equals(true)) { if (IsPostBack == false) { #region recuperation de l'alerte ///si il s'agit d'une update d'alerte email on la recupère grâce à l'id passé en GET et on la décode ///sinon il s'agit d'une creation... alors l'execution va sortir du bloc try sur une Null exception. try { reference = Request.Params["ref"].ToString(); String decode1 = (String)Session["double1"]; String decode2 = (String)Session["double2"]; reference = reference.Replace(decode1, ""); reference = reference.Replace(decode2, ""); int id = int.Parse(reference); Session["alerte"] = AlerteMailDAO.getAlerteMail(id); RequeteBien alerte = AlerteMailDAO.getAlerteMail(id); Session["alerteMail"] = alerte; if (alerte.TYPEVENTE == "V") { radioButtonAchat.Checked = true; } else { radioButtonAchat.Checked = false; } if (alerte.TYPEBIEN.Contains("M")) { checkBoxMaison.Checked = true; } else { checkBoxMaison.Checked = false; } if (alerte.TYPEBIEN.Contains("A")) { checkBoxAppart.Checked = true; } else { checkBoxAppart.Checked = false; } if (alerte.TYPEBIEN.Contains("T")) { checkBoxTerrain.Checked = true; } else { checkBoxTerrain.Checked = false; } if (alerte.TYPEBIEN.Contains("X")) { checkBoxAutre.Checked = true; } else { checkBoxAutre.Checked = false; } if (alerte.PIECE1.Equals(true)) { checkBoxPiece1.Checked = true; } else { checkBoxPiece1.Checked = false; } if (alerte.PIECE2.Equals(true)) { checkBoxPiece2.Checked = true; } else { checkBoxPiece2.Checked = false; } if (alerte.PIECE3.Equals(true)) { checkBoxPiece3.Checked = true; } else { checkBoxPiece3.Checked = false; } if (alerte.PIECE4.Equals(true)) { checkBoxPiece4.Checked = true; } else { checkBoxPiece4.Checked = false; } if (alerte.PIECE5.Equals(true)) { checkBoxPiece5.Checked = true; } else { checkBoxPiece5.Checked = false; } if (alerte.MOTCLE1.Length.Equals(0) == false) { textBoxMotCle1.Text = alerte.MOTCLE1; } if (alerte.MOTCLE2.Length.Equals(0) == false) { textBoxMotCle2.Text = alerte.MOTCLE2; } if (alerte.MOTCLE3.Length.Equals(0) == false) { textBoxMotCle3.Text = alerte.MOTCLE3; } if (alerte.MOTCLE4.Length.Equals(0) == false) { textBoxMotCle4.Text = alerte.MOTCLE4; } if (alerte.PRIXMIN.Equals(0) == false) { TextBoxBudgetMin.Text = alerte.PRIXMIN.ToString(); } if (alerte.PRIXMAX.Equals(1000000000) == false) { TextBoxBudgetMax.Text = alerte.PRIXMAX.ToString(); } if (alerte.SURFACEMIN.Equals(0) == false) { textBoxSurfaceMin.Text = alerte.SURFACEMIN.ToString(); } if (alerte.SURFACEMAX.Equals(0) == false) { textBoxSurfaceMax.Text = alerte.SURFACEMAX.ToString(); } } catch { } #endregion // efface le label Label1.Text = ""; } } else { Response.Redirect("./inscriptionAccueil.aspx"); } }
protected void ButtonAlerteMail_Click(object sender, EventArgs e) { RequeteBien alerte = null; if (Session["logged"].Equals(true)) { try { //// recupère l'alerte mail dans la session //// si ça plante c'est qu'il n'y a pas d'alerte mail dans la session alors //// on créer une instance dans le bloque catch alerte = (RequeteBien)Session["alerte"]; } catch { alerte = new RequeteBien(); } Membre member = (Membre)Session["membre"]; if (TextBoxBudgetMin.Text == "") { alerte.PRIXMIN = 0; } if (TextBoxBudgetMax.Text == "") { alerte.PRIXMAX = 1000000000; } if (textBoxSurfaceMin.Text == "") { alerte.SURFACEMIN = 0; } if (textBoxSurfaceMax.Text == "") { alerte.SURFACEMAX = 9999999; } if (verifChampSaisi(alerte).RECHERCHE_OK == true) { if (TextBoxBudgetMin.Text != "") { alerte.PRIXMIN = Int64.Parse(TextBoxBudgetMin.Text.Trim()); } if (TextBoxBudgetMax.Text != "") { alerte.PRIXMAX = Int64.Parse(TextBoxBudgetMax.Text.Trim()); } if (textBoxSurfaceMin.Text != "") { alerte.SURFACEMIN = Int64.Parse(textBoxSurfaceMin.Text.Trim()); } if (textBoxSurfaceMax.Text != "") { alerte.SURFACEMAX = Int64.Parse(textBoxSurfaceMax.Text.Trim()); } alerte.MOTCLE1 = textBoxMotCle1.Text.Trim(); alerte.MOTCLE2 = textBoxMotCle2.Text.Trim(); alerte.MOTCLE3 = textBoxMotCle3.Text.Trim(); alerte.MOTCLE4 = textBoxMotCle4.Text.Trim(); alerte.PIECE1 = checkBoxPiece1.Checked; alerte.PIECE2 = checkBoxPiece2.Checked; alerte.PIECE3 = checkBoxPiece3.Checked; alerte.PIECE4 = checkBoxPiece4.Checked; alerte.PIECE5 = checkBoxPiece5.Checked; if (checkBoxAppart.Checked == false && checkBoxTerrain.Checked == false && checkBoxMaison.Checked == false && checkBoxAutre.Checked == false) { alerte.TYPEBIEN = "AMTX"; } else { alerte.TYPEBIEN = "";// permet de réinitialisé le champ if (checkBoxAppart.Checked) { alerte.TYPEBIEN += "A"; } if (checkBoxMaison.Checked) { alerte.TYPEBIEN += "M"; } if (checkBoxTerrain.Checked) { alerte.TYPEBIEN += "T"; } if (checkBoxAutre.Checked) { alerte.TYPEBIEN += "X"; } } alerte.Cible = ucCible.listeVilleRecherche.createString(); if (radioButtonAchat.Checked) { alerte.TYPEVENTE = "V"; } else if (radioButtonLocation.Checked) { alerte.TYPEVENTE = "L"; } if (ListeNeuf.SelectedItem.Value == "0") { alerte.NeufOuPas = false; alerte.NEUF = false; } else if (ListeNeuf.SelectedItem.Value == "1") { alerte.NeufOuPas = false; alerte.NEUF = true; } else { alerte.NeufOuPas = true; } alerte.PRESTIGE = CBPrestige.Checked; alerte.COUP_DE_COEUR = CBCoeur.Checked; //sauvegarde l'objet alerte dans la session if (checkBoxMaison.Checked == true) { Session["Type"] += " maison"; } if (checkBoxAppart.Checked == true) { Session["Type"] += " appartement"; } if (checkBoxTerrain.Checked == true) { Session["Type"] += " terrain"; } if (radioButtonAchat.Checked == true) { Session["Transaction"] = "achat"; } else { Session["Transaction"] = "location"; } Session["Smin"] = textBoxSurfaceMin.Text; Session["Smax"] = textBoxSurfaceMax.Text; Session["BudgetMin"] = TextBoxBudgetMin.Text; Session["BudgetMax"] = TextBoxBudgetMax.Text; Session["NumPage"] = 1; Session["Tri"] = "prix"; Session["radioButtonAchat"] = radioButtonAchat.Checked; Session["checkBoxPiece1"] = checkBoxPiece1.Checked; Session["checkBoxPiece2"] = checkBoxPiece2.Checked; Session["checkBoxPiece3"] = checkBoxPiece3.Checked; Session["checkBoxPiece4"] = checkBoxPiece4.Checked; Session["checkBoxPiece5"] = checkBoxPiece5.Checked; Session["checkBoxMaison"] = checkBoxMaison.Checked; Session["checkBoxAppart"] = checkBoxAppart.Checked; Session["checkBoxTerrain"] = checkBoxTerrain.Checked; Session["checkBoxAutre"] = checkBoxAutre.Checked; alerte.ID_CLIENT = member.ID_CLIENT; if (alerte.ID_ALERTE.Equals(0)) { AlerteMailDAO.addAlerteMail(alerte); } else { AlerteMailDAO.updateAlerteMail(alerte); } Session["alerte"] = alerte; Response.Redirect("./monCompteAlertes.aspx"); }//Fin de if } else { Response.Redirect("./inscriptionAccueil.aspx"); // l'utilisateur n'est pas loggué on le redirige vers la page de login/inscription } }
protected void Page_Load(object sender, EventArgs e) { labelReponse.Font.Bold = true; if (Session["Membre"] != null) { labelRetour.Text = "Retourner à mes alertes:"; } else { labelRetour.Text = "Retourner au menu principal :"; } int idAlerte; string type = Request.QueryString["type"]; if (Int32.TryParse(Request.QueryString["id"], out idAlerte)) { //Connexion à la BDD et recuperation de l'alerte Connexion c = new Connexion(); OdbcCommand verifierAlerte = new OdbcCommand("select * from alerte_mail where id_alerte_mail = ?"); OdbcParameter paramID = new OdbcParameter("", DbType.Int32); paramID.Value = idAlerte; verifierAlerte.Parameters.Add(paramID); DataRowCollection drc = c.exeRequetteParametree(verifierAlerte).Tables[0].Rows; if (drc.Count != 0) { //condition a verifier byte[] plainMail = Encoding.UTF8.GetBytes(drc[0]["id_Client"].ToString()); byte[] plainIdAlerte = Encoding.UTF8.GetBytes(idAlerte.ToString()); byte[] plainTextWithSaltBytes = new byte[plainMail.Length + plainIdAlerte.Length]; for (int i = 0; i < plainIdAlerte.Length; i++) { plainTextWithSaltBytes[i] = plainIdAlerte[i]; } for (int i = 0; i < plainMail.Length; i++) { plainTextWithSaltBytes[plainIdAlerte.Length + i] = plainMail[i]; } HashAlgorithm hash = new SHA256Managed(); byte[] hashBytes = hash.ComputeHash(plainTextWithSaltBytes); string hashValue = Convert.ToBase64String(hashBytes); string cle = Request.QueryString["cle"]; if ((cle != hashValue) || (drc.Count == 0)) { labelReponse.Text = "Lien invalide: pas d'alerte correspondant"; Response.End(); } if (type == "SUP") { /* * OdbcCommand fermerAlerte = new OdbcCommand("update alerte_mail set actif = false where id_alerte_mail = ?"); * OdbcParameter paramId2 = new OdbcParameter("", DbType.Int32); * paramId2.Value = idAlerte; * fermerAlerte.Parameters.Add(paramId2); * c.exeRequetteParametree(fermerAlerte);*/ AlerteMailDAO.removeAlerteMail(idAlerte); labelReponse.Text = "Votre alerte a été supprimée avec succes !"; } else if (type == "ACT") { //toutes les conditons ont été verifiées OdbcCommand fermerAlerte = new OdbcCommand("update alerte_mail set dateEnregistrement = ?, actif=true where id_alerte_mail = ?"); OdbcParameter paramDate = new OdbcParameter("", DbType.DateTime); paramDate.Value = DateTime.Now; fermerAlerte.Parameters.Add(paramDate); OdbcParameter paramId2 = new OdbcParameter("", DbType.Int32); paramId2.Value = idAlerte; fermerAlerte.Parameters.Add(paramId2); c.exeRequetteParametree(fermerAlerte); labelReponse.Text = "Votre alerte a été reactualisée avec succès !"; } else { labelReponse.Text = "Lien invalide"; } } else { labelReponse.Text = "L'alerte que vous avez demandés n'existe pas ou a déjà été supprimée !"; } } else { labelReponse.Text = "Numero d'alerte invalide"; } }