private void btnSupprimer_Click(object sender, EventArgs e)
        {
            try
            {
                // si un livre est pointé dans la datagridview
                if (this.grdLivres.CurrentRow != null)
                {
                    // récupère la clé du livre pointé
                    String cleLivre;
                    cleLivre = (String)this.grdLivres.CurrentRow.Cells[0].Value;
                    // demande confirmation de la suppression
                    if (MessageBox.Show("Voulez-vous supprimer le livre numéro :" + cleLivre.ToString(), "Suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

                    {
                        MLivres.DeleteLivre(cleLivre.ToString());

                        // réaffiche la datagridview
                        afficheLivres();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Une erreur est survenue \n" + ex.Message);
            }
        }
        /// <summary>
        /// Rechercher un livre dans la liste en connaissant sa clé
        /// </summary>
        /// <param name="unCodeLivre">le codeLivre (=la clé) du livre à rechercher</param>
        /// <exception cref="Exception">Si codeLivre reçu non trouvé en collection</exception>
        /// <returns>la référence à un livre</returns>
        public static MLivres RestituerLivre(String recherche)
        {
            MLivres      unLivre = null;
            MySqlCommand cmd     = ConnexionBase.GetConnexion().CreateCommand();

            cmd.CommandText = "SELECT * FROM livres WHERE code_livre=@recherche";
            cmd.Parameters.AddWithValue("@recherche", recherche);
            MySqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                unLivre = new MLivres();
                // affectation des 7 lignes
                unLivre.CodeLivre = reader.GetString(0);
                unLivre.Isbn      = reader.GetString("isbn");
                unLivre.Titre     = reader.GetString("titre");
                unLivre.Categorie = reader.GetString("categorie");
                unLivre.Sortie    = reader.GetDateTime("date_sortie");
                unLivre.Auteur    = reader.GetString("auteur");
                unLivre.Editeur   = reader.GetString("editeur");
            }
            reader.Close();
            if (unLivre == null)
            {
                throw new Exception("Aucun livre pour le numéro " + recherche);
            }
            else
            {
                return(unLivre);
            }
        }
示例#3
0
        /// <summary>
        /// fonction qui instancie un nouvel objet MLivres puis tente d'affecter ses membres (attributs ou propriété)
        /// avec interception d'une erreur éventuelle levée par la classe MLivres et ajoute la référence de ce livre dans la collection de sa section
        /// </summary>
        /// <returns>Boolean : true = OK, false = erreur</returns>
        private Boolean instancie()
        {
            // créer une référence d'objet MLivres
            MLivres nouveauLivre;

            try
            {
                // instancie un livre spécialisé DE et lui affecter toutes ses propriétés
                nouveauLivre = new MLivres(
                    base.txtbCodeLivre.Text,
                    base.txtbISBN.Text,
                    base.txtbTitre.Text,
                    base.cbbCategorie.Text,
                    DateTime.Parse(base.dateTimeSortie.Text),
                    base.txtbAuteur.Text,
                    base.txtbEditeur.Text);

                MLivres.InsertLivre(nouveauLivre);

                return(true);
            }
            catch (Exception ex)
            {
                nouveauLivre = null;
                MessageBox.Show("Erreur : \n" + ex.Message, "Ajout de livre");
                return(false);
            }
        }
        private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                MLivres modifierLivre = new MLivres();

                // affecte des variables/propriétés
                modifierLivre.CodeLivre = base.txtbCodeLivre.Text;
                modifierLivre.Isbn      = base.txtbISBN.Text;
                modifierLivre.Titre     = base.txtbTitre.Text;
                modifierLivre.Categorie = base.cbbCategorie.Text;
                modifierLivre.Sortie    = DateTime.Parse(base.dateTimeSortie.Text);
                modifierLivre.Auteur    = base.txtbAuteur.Text;
                modifierLivre.Editeur   = base.txtbEditeur.Text;

                // appelle la méthode insert, de la classe métier
                MLivres.UpdateLivre(modifierLivre);

                // ajoute la référence d'objet MLivres dans la collection
                Donnees.tableLivres = MLivres.ListerLivres("");

                // incrémentation du compteur de livres
                MLivres.NLivres = 1;

                this.Close();

                // fermeture de la boite de dialogue par validation
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Une erreur est survenue \n" + ex.Message);
            }
        }
 public void afficheLivres()
 {
     // détermine l'origine des données à afficher : appel de la méthode de la classe MLivres
     // qui alimente et retourne la copie de sa collection de livres sous forme de datatable
     this.grdLivres.DataSource = MLivres.ListerLivres(txtbRecherche.Text);
     // rafraîchit l'affichage
     this.grdLivres.Refresh();
 }
        /// <summary>
        /// méthode pour mettre à jour le livre dans l'application et également dans la base de données
        /// </summary>
        /// <param name="ad"></param>
        public static void UpdateLivre(MLivres lvr)
        {
            MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand();

            cmd.CommandText = "UPDATE livres SET isbn=@Isbn, editeur=@Editeur WHERE code_livre=@CodeLivre";

            cmd.Parameters.AddWithValue("@Titre", lvr.Titre);
            cmd.Parameters.AddWithValue("@Isbn", lvr.Isbn);
            cmd.Parameters.AddWithValue("@Editeur", lvr.Isbn);
            cmd.Parameters.AddWithValue("@CodeLivre", lvr.Isbn);
            cmd.ExecuteNonQuery();
        }
        /// <summary>
        /// méthode pour insérer un livre dans l'application ainsi que dans la base de données
        /// </summary>
        /// <param name="lvr"></param>
        public static void InsertLivre(MLivres lvr)
        {
            // crée la commande sql
            MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand();

            cmd.CommandText = "INSERT INTO livres(code_livre, isbn, titre, categorie, date_sortie, auteur, editeur)" +
                              "VALUES (@codeLivre, @isbn, @titre, @categorie, @dateSortie, @auteur, @editeur)";
            // exécute la commande
            cmd.Parameters.AddWithValue("@codeLivre", lvr.CodeLivre);
            cmd.Parameters.AddWithValue("@isbn", lvr.Isbn);
            cmd.Parameters.AddWithValue("@titre", lvr.Titre);
            cmd.Parameters.AddWithValue("@categorie", lvr.Categorie);
            cmd.Parameters.AddWithValue("@dateSortie", lvr.Sortie);
            cmd.Parameters.AddWithValue("@auteur", lvr.Auteur);
            cmd.Parameters.AddWithValue("@editeur", lvr.Editeur);
            // exécute la requête
            cmd.ExecuteNonQuery();
        }
        /// <summary>
        /// ouvre la feuille détail en y affichant le livre correspondant à la ligne double-cliquée
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void grdLivres_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                String iLivre;
                iLivre = (String)this.grdLivres.CurrentRow.Cells[0].Value;

                livre = MLivres.RestituerLivre(iLivre); // as MPersonnes;
                                                        // instancie le form consultation personne
                frmConsultationLivre frmConsulter = new frmConsultationLivre(livre);
                // affiche le form de consultation d'une personne
                frmConsulter.ShowDialog();
                // rafraîchit la datagridview quand le form est fermé
                this.afficheLivres();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Une erreur est survenue \n" + ex.Message);
            }
        }
示例#9
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                // créer une référence d'objet MListeEntrees
                MLivres nouveauLivre = new MLivres(leCode, unIsbn, leTitre, laCategorie, laSortie, unAuteur, unEditeur);

                // affecter les données de l'objet MListeEntrees :
                // variables simples, ou autres, ce qui déclenche alors
                // le code des méthodes set
                nouveauLivre.CodeLivre = base.txtbCodeLivre.Text;
                nouveauLivre.Isbn      = base.txtbISBN.Text;
                nouveauLivre.Titre     = base.txtbTitre.Text;
                nouveauLivre.Categorie = base.cbbCategorie.Text;
                nouveauLivre.Sortie    = DateTime.Parse(base.dateTimeSortie.Text);
                nouveauLivre.Auteur    = base.txtbAuteur.Text;
                nouveauLivre.Editeur   = base.txtbEditeur.Text;

                // invoque la méthode insert, écrite dans sa classe métier
                MLivres.InsertLivre(nouveauLivre);

                //ajouter la référence d'objet MPersonnes dans la collection
                Donnees.tableLivres = MLivres.ListerLivres("");

                // incrémentation compteur de livres
                MLivres.NLivres += 1;

                this.Close();
                // fermeture de la boite de dialogue par validation
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Une erreur est survenue \n" + ex.Message);
            }
        }
示例#10
0
 /// <summary>
 /// modifier les données d'un livre
 /// tout est modifiable sauf le codeLivre (= clé de la collection)
 /// </summary>
 /// <param name="unLivre">la référence au nouvel objet MLivres pour cette clé</param>
 public void Remplacer(MLivres unLivre)
 {
     // modifie la référence du livre stockée dans la collection
     this.lesLivres[unLivre.CodeLivre] = unLivre;
 }
示例#11
0
 /// <summary>
 /// ajouter un livre à la collection
 /// (reçoit la référence au livre et en déduit la clé (= codeLivre) pour la collection)
 /// </summary>
 /// <param name="unLivre">la référence du livre à ajouter</param>
 public void Ajouter(MLivres unLivre)
 {
     this.lesLivres.Add(unLivre.CodeLivre, unLivre);
 }
 private void txtbRecherche_TextChanged(object sender, EventArgs e)
 {
     MLivres.ListerLivres(txtbRecherche.Text);
     afficheLivres();
 }
 public frmConsultationLivre(MLivres livre)
 {
     // on crée une référence d'objet livre pointant vers le livre d'origine de la collection
     this.leLivre = livre;
     InitializeComponent();
 }