protected void ButtonEnvoyer_Click(object sender, EventArgs e) { //Gestion des exception essentielle, on gère du code "dangereux" try { //On s'assure que le modèle client est disponible if (Session["modeleClient"] != null) { //<sspeichert> //On le récupère et on demande les enregistrements des clients selon la requête passée en paramètre Modele modele = (Modele)Session["modeleClient"]; //Si les boîtes de textes ont plus que zéro caractères if (TextBoxCommentaire.Text.Length > 0 && TextBoxPrenom.Text.Length > 0 && TextBoxNom.Text.Length > 0) { //On exécute la requète int rows = modele.CreateClient("INSERT INTO COMMENTAIRE (DateCreation, CommentaireEcrit, iDTypeClient, Prenom, Nom) VALUES (Now(),'" + TextBoxCommentaire.Text + "',4,'" + TextBoxPrenom.Text + "','" + TextBoxNom.Text + "')"); //Et on change les contrôles s'il y a au moins une ligne d'insérée dans la base de données! if (rows > 0) { LabelValidation.ForeColor = Color.Green; LabelValidation.Text = "Votre commentaire a été envoyé!"; LabelCommentaire.Visible = false; LabelNom.Visible = false; LabelPrenom.Visible = false; TextBoxCommentaire.Visible = false; TextBoxNom.Visible = false; TextBoxPrenom.Visible = false; ButtonEnvoyer.Visible = false; } } else //Sinon, un message d'erreur s'affiche, et c'est la que les validateurs s'activent. { LabelValidation.ForeColor = Color.DarkRed; LabelValidation.Text = "D'Oh! Il y a eu un problème concernant votre connection..."; } //</sspeichert> } } catch (Exception exc) { //Si le probleme provenait de la transaction du modele, on la Rollback Modele modele = (Modele)Session["modeleClient"]; modele.RollbackTransaction(); //et on invalide le modele, il pourra être reconstruit en PostBack Session["modeleClient"] = null; System.Diagnostics.Debug.Write(exc); } }
/// <summary> //Cette méthode effectue supprime une entrée, mais "en memoire" dans la BD. Pour un impact réel dans le fichier de base de données //Il ne faut pas oublier d'appler le CommitChanges au déchargement de la page /// </summary> public void SupprimerCommande() { //Gestion des exception essentielle, on gère du code "dangereux" try { //On s'assure que le modèle client est disponible if (Session["modeleClient"] != null) { //On le récupère et on demande les enregistrements des clients selon la requête passée en paramètre Modele modele = (Modele)Session["modeleClient"]; //On peut maintenant faire notre requete //Supprime la commande selectionnée dans le formulaire Administration.aspx int numRows = modele.CreateClient("DELETE FROM CommandeJeu WHERE IdCommande= " + Request.QueryString["IdCommande"]); if (numRows >= 1) { //message de succès à l'écran PanelCommande.Enabled = false; LabelConfirmation.Text = "Commande supprimer."; } else { //message d'erreur à l'écran LabelConfirmation.Text = "Il y a eu une erreur avec votre commande veuillez réessayer ultérieurement ou contacter votre administrateur réseau."; } } } catch (Exception exc) { //Si le probleme provenait de la transaction du modele, on la Rollback Modele modele = (Modele)Session["modeleClient"]; modele.RollbackTransaction(); //et on invalide le modele, il pourra être reconstruit en PostBack Session["modeleClient"] = null; System.Diagnostics.Debug.Write(exc); } }
/// <summary> //Cette méthode effectue une mise à jour, mais "en memoire" dans la BD. Pour un impact réel dans le fichier de base de données //Il ne faut pas oublier d'appler le CommitChanges au déchargement de la page /// </summary> public void MettreAJourClient() { //Gestion des exception essentielle, on gère du code "dangereux" try { //On s'assure que le modèle client est disponible if (Session["modeleClient"] != null) { //On le récupère et on demande les enregistrements des clients selon la requête passée en paramètre Modele modele = (Modele)Session["modeleClient"]; //On peut maintenant faire notre requete //Met à jour la commande selectionnée avec les valeurs selectionnées dans les listes déroulantes. int numRows = modele.CreateClient("UPDATE CommandeJeu SET CodeJeu='" + DropDownListJeu.SelectedValue + "', Quantité='" + DropDownListQuantite.SelectedValue + "', IdEntrepot=" + int.Parse(DropDownListEntrepot.SelectedValue) + " WHERE IdCommande =" + int.Parse(Request.QueryString["IdCommande"]) + ";"); if (numRows >= 1) { //message de succès à l'écran PanelCommande.Enabled = false; LabelConfirmation.Text = "Commande modifiée."; } else { //message d'erreur à l'écran LabelConfirmation.Text = "Il y a eu une erreur avec votre commande veuillez réessayer ultérieurement ou contacter votre administrateur réseau."; } } } catch (Exception exc) { //Si le probleme provenait de la transaction du modele, on la Rollback Modele modele = (Modele)Session["modeleClient"]; modele.RollbackTransaction(); //et on invalide le modele, il pourra être reconstruit en PostBack Session["modeleClient"] = null; System.Diagnostics.Debug.Write(exc); } }