/// <summary> /// Cette méthode liste tous les Commandes de la base de données et envoie les données en construction dans la table /// </summary> public void ListerCommandes() { //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"]; //Récupère les informations de la commande à modifier. OleDbDataReader readerSelectTabSelected = modele.ReadClient("SELECT Jeu.Titre, Jeu.Prix, CommandeJeu.CodeJeu, CommandeJeu.Quantité, CommandeJeu.DateCommande,CommandeJeu.IdCommande, Entrepot.Ville, Entrepot.Pays" + " FROM Jeu INNER JOIN (CommandeJeu INNER JOIN Entrepot ON CommandeJeu.IdEntrepot=Entrepot.IdEntrepot) ON Jeu.CodeJeu=CommandeJeu.CodeJeu " + "WHERE IdCommande=" + Request.QueryString["IdCommande"] + " ORDER BY CommandeJeu.DateCommande"); //On envoie notre table en construction ConstruireLabelTabSelected(readerSelectTabSelected); //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelectTabSelected.Close(); //Récupère le titre et le code de touts les jeux pour les ajouter dans la liste déroulante de jeu. OleDbDataReader readerSelectJeu = modele.ReadClient("SELECT Titre, CodeJeu FROM Jeu"); //On envoie notre table en construction ConstruireDropDownList(DropDownListJeu, readerSelectJeu, false); //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelectJeu.Close(); //Récupère la ville, le pays et Id des entrepot de touts les entrepot pour les ajouter dans la liste déroulante de jeu. OleDbDataReader readerSelectEntrepot = modele.ReadClient("SELECT Ville, Pays, IdEntrepot FROM Entrepot"); //On envoie notre table en construction ConstruireDropDownList(DropDownListEntrepot, readerSelectEntrepot, true); //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelectEntrepot.Close(); } } 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 liste tous les clients de la base de données et envoie les données en construction dans la table /// </summary> public void ListerClients() { //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"]; //Récupère touts les jeux de la BD et les enregistre dans le reader avec un trie en ordre Ascendant ou descendant. if (orderByAsc) { OleDbDataReader readerSelect = modele.ReadClient("SELECT Jeu.Titre, Jeu.Prix, CommandeJeu.CodeJeu, CommandeJeu.Quantité, CommandeJeu.DateCommande,CommandeJeu.IdCommande, Entrepot.Ville, Entrepot.Pays" + " FROM Jeu INNER JOIN (CommandeJeu INNER JOIN Entrepot ON CommandeJeu.IdEntrepot=Entrepot.IdEntrepot) ON Jeu.CodeJeu=CommandeJeu.CodeJeu " + "ORDER BY CommandeJeu.DateCommande"); //On envoie notre table en construction ConstruireTable(Jeux, readerSelect); //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelect.Close(); } else { OleDbDataReader readerSelect = modele.ReadClient("SELECT Jeu.Titre, Jeu.Prix, CommandeJeu.CodeJeu, CommandeJeu.Quantité, CommandeJeu.DateCommande,CommandeJeu.IdCommande, Entrepot.Ville, Entrepot.Pays" + " FROM Jeu INNER JOIN (CommandeJeu INNER JOIN Entrepot ON CommandeJeu.IdEntrepot=Entrepot.IdEntrepot) ON Jeu.CodeJeu=CommandeJeu.CodeJeu " + "ORDER BY CommandeJeu.DateCommande DESC"); //On envoie notre table en construction ConstruireTable(Jeux, readerSelect); //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelect.Close(); } } } 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); } }
//Si un élément de la liste déroulante est changé. protected void DropDownListVilles_SelectedIndexChanged(object sender, EventArgs e) { string select = DropDownListVilles.SelectedItem.Value; 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"]; OleDbDataReader readerSelect = modele.ReadClient("SELECT IdPointDistribution, Adresse, Ville, Pays FROM PointDistribution"); string iD = readerSelect.GetName(0); // Le GetName prend le champ selon sa position dans la sélection. //On envoie notre table en construction while (readerSelect.Read()) { if (select == readerSelect[iD].ToString()) { LabelAdresse.Text = "Adresse :" + readerSelect["Adresse"].ToString(); LabelVille.Text = "Ville :" + readerSelect["Ville"].ToString(); LabelPays.Text = "Pays :" + readerSelect["Pays"].ToString(); LiteralMap.Text = @"<iframe src=http://maps.google.com/" + readerSelect["Ville"].ToString() + "\" width=\"600\" height=\"450\" style=\"border:0\" ></iframe>"; } } readerSelect.Close(); } }
//Si le bouton "Se connecter" est cliqué. protected void ButtonConnect_Click(object sender, EventArgs e) { string lastName = TextBoxLastName.Text; string firstName = TextBoxFirstName.Text; 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"]; OleDbDataReader readerSelect = modele.ReadClient("SELECT * FROM CLIENT WHERE iDTypeClient = 4"); string iD = readerSelect.GetName(1); string iD2 = readerSelect.GetName(2); while (readerSelect.Read()) { if (lastName == readerSelect[iD].ToString() && firstName == readerSelect[iD2].ToString()) { //<JCOTE> PanelAdmin.Visible = false; ImageButtonPasserUneCommande.Enabled = true; ImageButtonPasserUneCommande.Visible = true; ImageButtonDeconnection.Enabled = true; ImageButtonDeconnection.Visible = true; Session["adminConnected"] = true; //</JCOTE> } } readerSelect.Close(); } }
/// <summary> /// Cette méthode liste tous les jeux et les entrepots de la base de données et envoie les données en construction dans la table /// </summary> public void ListerClients() { //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"]; //tout les jeux et leur code. OleDbDataReader readerSelectJeu = modele.ReadClient("SELECT Titre, CodeJeu FROM Jeu"); //On envoie notre table en construction ConstruireDropDownList(DropDownListJeu, readerSelectJeu, false); //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelectJeu.Close(); //Tout les ville et les pays des entrepot. OleDbDataReader readerSelectEntrepot = modele.ReadClient("SELECT Ville, Pays, IdEntrepot FROM Entrepot"); //On envoie notre table en construction ConstruireDropDownList(DropDownListEntrepot, readerSelectEntrepot, true); //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelectEntrepot.Close(); } } 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); } }
//Fonction qui liste le jeu sélectionné dans la page précédente. public void ListerJeuSelectionné() { //<sspeichert> //On récupère en get la clé du site web. string codeJeu = Request.QueryString["codeJeu"]; //</sspeichert> //Gestion des exceptions 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"]; //<sspeichert> OleDbDataReader readerSelect = modele.ReadClient("SELECT Jeu.CodeJeu, Jeu.Titre, Jeu.Prix, Jeu.Plateforme, TypeJeu.Genre, Jeu.CodeCompagnie, Jeu.Description, Jeu.Image FROM Jeu INNER JOIN TypeJeu ON Jeu.IdGenre = TypeJeu.IdGenre WHERE Jeu.CodeJeu ='" + codeJeu + "'"); //Pendant que le reader est en train d'être lu, on entre while (readerSelect.Read()) { if (codeJeu == readerSelect[0].ToString()) { //ImageJeu.ImageUrl = "~/img/miniatures/" + readerSelect["Image"].ToString(); LabelTitreDuJeu.Text = "Titre du jeu :" + readerSelect["Titre"].ToString(); LabelGenre.Text = "Genre :" + readerSelect["Genre"].ToString(); LabelPlateforme.Text = "Plateforme :" + readerSelect["Plateforme"].ToString(); LabelPrix.Text = "Prix :" + readerSelect["Prix"].ToString(); LabelDeveloppeur.Text = "Developpeur :" + readerSelect["CodeCompagnie"].ToString(); LabelSynopsis.Text = "Synopsis :" + readerSelect["Description"].ToString(); } } //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelect.Close(); //<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); } }
//Si un élément de la liste déroulante est changé. protected void DropDownListGenre_SelectedIndexChanged(object sender, EventArgs e) { string select = DropDownListGenre.SelectedItem.Value; 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"]; OleDbDataReader readerSelect = null; if (select == "0") { readerSelect = modele.ReadClient("SELECT Jeu.CodeJeu, Jeu.Titre, Jeu.Prix, Jeu.Plateforme, TypeJeu.Genre, Jeu.Description, Jeu.Image FROM Jeu INNER JOIN TypeJeu ON Jeu.IdGenre = TypeJeu.IdGenre ORDER BY Jeu.Titre ASC"); } else { readerSelect = modele.ReadClient("SELECT Jeu.CodeJeu, Jeu.Titre, Jeu.Prix, Jeu.Plateforme, TypeJeu.Genre, Jeu.Description, Jeu.Image FROM Jeu INNER JOIN TypeJeu ON Jeu.IdGenre = TypeJeu.IdGenre WHERE TypeJeu.Genre ='" + select + "'"); } //OleDbDataReader readerSelectNom = modele.ReadClient("SELECT Nom FROM CLIENT"); string iD = readerSelect.GetName(0); //On envoie notre table en construction ConstruireTable(TableClient, readerSelect); //while (readerSelect.Read()) //{ // if (select == readerSelect[iD].ToString()) // { // } // //UpdateCLient ("Select + nom + from") //} readerSelect.Close(); } }
//Fonction qui liste les points de distribution. public void ListerPointsDeDistribution() { //Gestion des exceptions 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"]; //La requète est exécutée OleDbDataReader readerSelect = modele.ReadClient("SELECT * FROM PointDistribution"); //On envoie notre table en construction while (readerSelect.Read()) { DropDownListVilles.Items.Add(new ListItem(readerSelect[2].ToString(), readerSelect[0].ToString())); //(text,value) } //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelect.Close(); } } 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); } }
//Fonction qui liste les jeux de la base de données. public void ListerJeux() { //Gestion des exceptions 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"]; OleDbDataReader readerSelect = modele.ReadClient("SELECT Jeu.CodeJeu, Jeu.Titre, Jeu.Prix, Jeu.Plateforme, TypeJeu.Genre, Jeu.Description, Jeu.Image FROM Jeu INNER JOIN TypeJeu ON Jeu.IdGenre = TypeJeu.IdGenre"); //OleDbDataReader readerSelectNom = modele.ReadClient("SELECT Nom FROM CLIENT"); //On envoie notre table en construction ConstruireTable(TableClient, readerSelect); //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelect.Close(); } } 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); } }
//Fonction qui liste les nouveautés de la base de données. public void ListerNouveautes() { //Gestion des exceptions 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"]; OleDbDataReader readerSelect = modele.ReadClient("SELECT Jeu.CodeJeu, Jeu.Titre, Jeu.Prix, Jeu.Plateforme, TypeJeu.Genre, Jeu.Description, Jeu.Image FROM Jeu INNER JOIN TypeJeu ON Jeu.IdGenre = TypeJeu.IdGenre WHERE Jeu.Nouveaute = TRUE"); //On place les éléments dans la boite-liste. while (readerSelect.Read()) { ListBoxNouveautes.Items.Add(new ListItem(readerSelect[1].ToString() + " " + readerSelect[2].ToString() + " " + readerSelect[3].ToString() + " " + readerSelect[4].ToString(), readerSelect[0].ToString())); //(text,value) } //!!!!!!!!!!!!!!!!!!!!!!!! //CECI EST ESSENTIEL AVANT DE FAIRE UNE AUTRE REQUETE, CECI PERMETTRA UNE AUTRE //REQUÊTE SUR LA COMMANDE QUI A ÉTÉ OUVERTE DANS LE MODÈLE. MÊME SI C'ÉTAIT LA DERNIÈRE REQUÊTE DU LOT IL FAUT LE FAIRE !!! //!!!!!!!!!!!!!!!!!!!!!!!! readerSelect.Close(); } } 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); } }