1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| /// <summary>
/// Se produit lorsque l'on valide ses choix de newsletter
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button_Click(object sender, EventArgs e)
{
SqlConnection Connexion = Commun.ConnexionBase();
if (User.Identity.IsAuthenticated)
{
SqlDataAdapter SqlDataAdapter1;
SqlDataAdapter1 = new SqlDataAdapter("SELECT * FROM " + Commun.AccesseurTableNewsletter, Connexion);
DataSet DataSet1 = new DataSet("DataSet");
SqlDataAdapter1.Fill(DataSet1, Commun.AccesseurTableNewsletter);
SqlDataAdapter1.SelectCommand.Dispose();
bool IsDeleting = false;
// On efface toutes les données concernant ce user (avec son ancien mail) pour réécrire son nouveau choix après
for (int i = 0; i < DataSet1.Tables[Commun.AccesseurTableNewsletter].Rows.Count; i++)
{
if (DataSet1.Tables[Commun.AccesseurTableNewsletter].Rows[i][Commun.AccesseurChampEmailNewsletterBase].ToString() == Membership.GetUser().Email)
{
DataSet1.Tables[Commun.AccesseurTableNewsletter].Rows[i].Delete();
IsDeleting = true;
}
}
if (IsDeleting)
{
// Remplissage de la commande DeleteCommand
SqlDataAdapter1.DeleteCommand = new SqlCommand(
"DELETE FROM " +
Commun.AccesseurTableNewsletter +
" WHERE " + Commun.AccesseurChampEmailNewsletterBase + "=@" + Commun.AccesseurChampEmailNewsletterBase, Connexion);
SqlDataAdapter1.DeleteCommand.Parameters.Add("@" + Commun.AccesseurChampEmailNewsletterBase, SqlDbType.VarChar, 50, Commun.AccesseurChampEmailNewsletterBase);
SqlDataAdapter1.DeleteCommand.Parameters["@" + Commun.AccesseurChampEmailNewsletterBase].Value = TextBoxEmail.Text;
try
{
SqlDataAdapter1.Update(DataSet1, Commun.AccesseurTableNewsletter);
}
catch (Exception exc)
{
}
}
//Si le user choisi de répercuter la modif de son mail, alors on modifie aussi
if ((TextBoxEmail.Text != Membership.GetUser().Email) && (Convert.ToBoolean(RadioButtonListChoixMail.SelectedValue)))
{
Membership.GetUser().Email = TextBoxEmail.Text;
}
foreach (ListItem chkbox in CheckBoxListTypes.Items)
{
// Si la checkbox est
if (chkbox.Selected)
{
// Remplissage de la commande InsertCommand
if(SqlDataAdapter1.InsertCommand == null)
{
SqlDataAdapter1.InsertCommand = new SqlCommand("INSERT INTO " + Commun.AccesseurTableNewsletter + " (" + Commun.AccesseurChampUserIdBase + "," + Commun.AccesseurChampEmailNewsletterBase + "," + Commun.AccesseurChampTopicsChosenNewsletterBase + ") Values(@" + Commun.AccesseurChampUserIdBase + ",@" + Commun.AccesseurChampEmailNewsletterBase + ",@" + Commun.AccesseurChampTopicsChosenNewsletterBase + ")", Connexion);
SqlDataAdapter1.InsertCommand.Parameters.Add("@" + Commun.AccesseurChampUserIdBase, SqlDbType.UniqueIdentifier, 50, Commun.AccesseurChampUserIdBase);
SqlDataAdapter1.InsertCommand.Parameters.Add("@" + Commun.AccesseurChampEmailNewsletterBase, SqlDbType.VarChar, 50, Commun.AccesseurChampEmailNewsletterBase);
SqlDataAdapter1.InsertCommand.Parameters.Add("@" + Commun.AccesseurChampTopicsChosenNewsletterBase, SqlDbType.VarChar, 1000, Commun.AccesseurChampTopicsChosenNewsletterBase);
}
DataRow oDataRow;
oDataRow = DataSet1.Tables[Commun.AccesseurTableNewsletter].NewRow();
oDataRow[Commun.AccesseurChampUserIdBase] = Membership.GetUser().ProviderUserKey;
oDataRow[Commun.AccesseurChampEmailNewsletterBase] = TextBoxEmail.Text;
oDataRow[Commun.AccesseurChampTopicsChosenNewsletterBase] = Convert.ToInt32(chkbox.Value);
DataSet1.Tables[Commun.AccesseurTableNewsletter].Rows.Add(oDataRow);
if(!(SqlDataAdapter1.DeleteCommand == null))
{
SqlDataAdapter1.DeleteCommand.Dispose();
}
}
}
try
{
SqlDataAdapter1.Update(DataSet1, Commun.AccesseurTableNewsletter);
}
catch (Exception exc)
{
}
} |
Partager