using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Configuration; using System.Text.RegularExpressions; using System.Security; using System.Web.Security; namespace inforjeunes_mons.site_admin { public partial class billet_admin : System.Web.UI.Page { static string MODE; static SqlDataReader dr; static string chaine_connexion = ConfigurationManager.ConnectionStrings["Inforjeunes_MonsConnectionString"].ToString(); SqlConnection con = new SqlConnection(chaine_connexion); SqlCommand cmd; protected void Page_Load(object sender, EventArgs e) { if (User.Identity.IsAuthenticated) { Page.Title = "Edition des billets par " + User.Identity.Name; } else { Page.Title = "Page sécurisée - Login nécessaire"; FormsAuthentication.RedirectToLoginPage(); } } protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { MODE = "MODIFICATION"; //récupération de l'IDBillet via cette façon car on ne peut pas récupérer la valeur d'une colonne invisible. int index_ligne = this.GridView1.SelectedIndex; int idbillet = int.Parse(this.GridView1.DataKeys[index_ligne].Value.ToString()); con.Open(); cmd = new SqlCommand("SELECT datebillet, Titrebillet, resumebillet, lienimagebillet, TexteAlternatifImage, tabledesmatieres, lienfichierassocie, BilletDeLaSemaine, typebillet FROM billet WHERE idbillet = " + idbillet, con); dr = cmd.ExecuteReader(); dr.Read(); txt_date_billet.Text = dr["datebillet"].ToString(); txt_titre.Text = dr["Titrebillet"].ToString(); txt_resume.Text = dr["resumebillet"].ToString(); txt_lien_image.Text = dr["lienimagebillet"].ToString(); txt_alt_image.Text = dr["TexteAlternatifImage"].ToString(); CKEditor1.Text = dr["tabledesmatieres"].ToString(); txt_lien_fichier_associe.Text = dr["lienfichierassocie"].ToString(); if (dr["BilletDeLaSemaine"].ToString() == "True") { chk_billet_semaine.Checked = true; } else { chk_billet_semaine.Checked = false; } if (!(dr["typebillet"] is DBNull)) cmb_type_billet.SelectedValue = dr["typebillet"].ToString(); } protected void btn_valider_modifs_Click(object sender, EventArgs e) { //string billet_format_texte = Regex.Replace(this.CKEditor1.Text, "(<[^>]+>)", string.Empty); switch(MODE.ToUpper()) { case "AJOUT": SqlDSBillets.InsertParameters.Add("datebillet", txt_date_billet.Text); SqlDSBillets.InsertParameters.Add("titrebillet", txt_titre.Text); SqlDSBillets.InsertParameters.Add("resumebillet", txt_resume.Text); SqlDSBillets.InsertParameters.Add("lienimage", txt_lien_image.Text); SqlDSBillets.InsertParameters.Add("TexteAlternatifImage", txt_alt_image.Text); SqlDSBillets.InsertParameters.Add("Tabledesmatieres", CKEditor1.Text); SqlDSBillets.InsertParameters.Add("lienfichier", txt_lien_fichier_associe.Text); SqlDSBillets.InsertParameters.Add("BilletDeLaSemaine", chk_billet_semaine.Checked.ToString()); SqlDSBillets.InsertParameters.Add("Typebillet", cmb_type_billet.SelectedValue); SqlDSBillets.InsertCommand = "INSERT INTO billet (datebillet,titrebillet,resumebillet,lienimagebillet, TexteAlternatifImage,Tabledesmatieres,lienfichierassocie,BilletDeLaSemaine,Typebillet) values (@datebillet,@titrebillet,@resumebillet,@lienimage,@TexteAlternatifImage,@tabledesmatieres,@lienfichier,@BilletDeLaSemaine,@Typebillet)"; SqlDSBillets.Insert(); break; case "MODIFICATION": int index_ligne = GridView1.SelectedIndex; int idbillet = int.Parse(GridView1.DataKeys[index_ligne].Value.ToString()); //On met le billet de la semaine à jour, en enlevant le flag BilletDeLaSemaine sur tous les autres billets. SqlDSBillets.UpdateCommand = "UPDATE billet SET BilletDeLaSemaine = 'FALSE'"; SqlDSBillets.Update(); SqlDSBillets.UpdateParameters.Add("datebillet", txt_date_billet.Text); SqlDSBillets.UpdateParameters.Add("titrebillet", txt_titre.Text); SqlDSBillets.UpdateParameters.Add("resumebillet", txt_resume.Text); SqlDSBillets.UpdateParameters.Add("lienimage", txt_lien_image.Text); SqlDSBillets.UpdateParameters.Add("TexteAlternatifImage", txt_alt_image.Text); SqlDSBillets.UpdateParameters.Add("Tabledesmatieres", CKEditor1.Text); SqlDSBillets.UpdateParameters.Add("lienfichier", txt_lien_fichier_associe.Text); SqlDSBillets.UpdateParameters.Add("BilletDeLaSemaine",chk_billet_semaine.Checked.ToString()); SqlDSBillets.UpdateParameters.Add("TypeBillet", cmb_type_billet.SelectedValue); SqlDSBillets.UpdateCommand = "UPDATE billet SET DateBillet = @datebillet, TitreBillet = @titrebillet, resumeBillet = @resumebillet, lienImageBillet = @lienimage, TexteAlternatifImage=@TexteAlternatifImage, tabledesmatieres = @tabledesmatieres, lienFichierAssocie= @lienfichier, BilletDeLaSemaine = @BilletDeLaSemaine, TypeBillet=@TypeBillet WHERE Idbillet = " + idbillet; SqlDSBillets.Update(); break; } } protected void btn_new_billet_Click(object sender, EventArgs e) { MODE = "AJOUT"; txt_titre.Text = "sdvsdvsdv"; txt_resume.Text = ""; txt_lien_image.Text = ""; txt_alt_image.Text = ""; txt_lien_fichier_associe.Text = ""; CKEditor1.Text = ""; txt_titre.Focus(); } } }