public Medicament(String id, String nomCommercial, String composition, String effets,
                   String contreIndications, Famille famille)
 {
     this.id                = id;
     this.nomCommercial     = nomCommercial;
     this.composition       = composition;
     this.effets            = effets;
     this.contreIndications = contreIndications;
     this.famille           = famille;
 }
        public static Famille ChargerFamilleDuMedicament(Medicament medicament)
        {
            // récupère la famille du médicament grâce à son id
            Famille laFamille = Passerelle.GetFamilleDuMedicament(medicament.GetId());

            // attribue cette famille au médicament
            medicament.SetFamille(laFamille);
            // retourne la famille
            return(laFamille);
        }
        private static Famille MapperLigneFamille(DbDataReader reader)
        {
            String id, libelle;

            id      = (String)reader["id"];
            libelle = (String)reader["libelle"];

            Famille laFamille = new Famille(id, libelle);

            return(laFamille);
        }
        public static List <Famille> GetFamilles()
        {
            List <Famille> liste = new List <Famille>();
            DbCommand      dbc   = GetConnexion().CreateCommand();

            dbc.CommandText = "SELECT famille.* FROM famille ORDER BY libelle";
            DbDataReader reader = dbc.ExecuteReader();

            while (reader.Read())
            {
                Famille uneFamille = MapperLigneFamille(reader);
                liste.Add(uneFamille);
            }
            reader.Close();
            return(liste);
        }
        // Récupère la famille du médicament dont l'id est passé en paramètre
        public static Famille GetFamilleDuMedicament(String idMedicament)
        {
            Famille   famille = null;
            DbCommand dbc     = GetConnexion().CreateCommand();

            dbc.CommandText = "SELECT famille.* FROM famille, medicament "
                              + " WHERE medicament.idFamille = famille.id AND medicament.id = '" + idMedicament + "'";
            DbDataReader reader = dbc.ExecuteReader();

            while (reader.Read())
            {
                famille = MapperLigneFamille(reader);
            }
            reader.Close();
            return(famille);
        }
        private void btCreer_Click(object sender, EventArgs e)
        {
            // récupération des valeurs des champs de texte et instanciation d'un médicament
            Medicament nouveauMed = new Medicament(txtId.Text, txtNomCommercial.Text,
                                                   txtComposition.Text, txtEffets.Text, txtContreIndications.Text);
            // récupération de l'index sélectionné dans la liste des familles
            int indexFamille = cbFamilles.SelectedIndex;
            // récupération de la famille grâce au manager
            Famille laFamille = Manager.GetFamille(indexFamille);

            // il faut attribuer cette famille au médicament avec SetFamille
            nouveauMed.SetFamille(laFamille);
            // on fait appel au manager pour enregistrer le médicament
            Manager.CreerMedicament(nouveauMed);
            // Message de confirmation
            MessageBox.Show("Le médicament " + nouveauMed.GetNomCommercial() + " a été créé");
        }
        private void listMedicaments_SelectedIndexChanged(object sender, EventArgs e)
        {
            // récupération de l'indice du médicament sélectionné
            int indexMed = this.listMedicaments.SelectedIndex;
            // récupération du médicament dans la classe manager
            Medicament med = Manager.GetMedicament(indexMed);

            // mise à jour des champs de texte
            this.txtId.Text                = med.GetId();
            this.txtNomCommercial.Text     = med.GetNomCommercial();
            this.txtEffets.Text            = med.GetEffets();
            this.txtComposition.Text       = med.GetComposition();
            this.txtContreIndications.Text = med.GetContreIndications();
            // récupération de la famille du médicament grâce au Manager
            Famille famille = Manager.ChargerFamilleDuMedicament(med);

            // mise à jour du champ de texte txtFamille avec le libellé de la famille
            this.txtFamille.Text = famille.GetLibelle();
        }
 public void SetFamille(Famille famille)
 {
     this.famille = famille;
 }