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