/// <summary> /// Quand l'utilisateur appuie sur le bouton "Valider", il faut créer la médiathèque avec les /// informations données puis lancer l'application principale /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Valider_Click(object sender, EventArgs e) { try { //On récupère les infos entrées par l'utilisateur int codePostal = Int32.Parse(this.CodePostal.Text); string nom = this.Nom.Text; string adresse = this.Adresse.Text; string ville = this.Ville.Text; //On crée la médiathèque LesMedias liste = new LesMedias(); Mediatheque m = Mediatheque.Instance(nom, adresse, codePostal, ville, liste); //On crée l'application princale, on cache la fenêtre de création puis on lance MenuPrincipal menu = new MenuPrincipal(m); this.Hide(); menu.ShowDialog(); //Quand l'application principale est fermée, on ferme cette fenêtre this.Dispose(); } catch (FormatException) { //Si l'utilisateur entre un code postal qui n'est pas un chiffre, on annule la //validation puis on lui indique son erreur this.CodePostal.BorderStyle = BorderStyle.Fixed3D; this.CodePostal.Text = "Le code postal doit être un chiffre"; } }
/// <summary> /// Quand l'utilisateur clique sur le bouton "Valider" ou appuie sur Entrée /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Valider_Click(object sender, EventArgs e) { //On récupère le type de recherche voulu string choix = this.Type.SelectedItem.ToString(); //En fonction de ce type, on effectue la recherche puis on valide switch (choix) { case "Tous les livres": this.resultat = this.mediatheque.Medias.RechercheLivres(); this.ValiderBouton(); break; case "Tous les films": this.resultat = this.mediatheque.Medias.RechercheFilms(); this.ValiderBouton(); break; case "Recherche par référence": this.resultat.Ajout(this.mediatheque.Medias.RechercheRef(this.Motif.Text)); this.ValiderBouton(); break; case "Recherche par titre": this.resultat = this.mediatheque.Medias.RechercheTitre(this.Motif.Text); this.ValiderBouton(); break; case "Recherche par date de publication": try { this.resultat = this.mediatheque.Medias.RechercheAnnee(Int32.Parse(this.Motif.Text)); } catch (Exception) { } this.ValiderBouton(); break; } }
LesMedias listeAffichée; //Liste affichée dans la ListView /// <summary> /// Initialisation et création de la fenêtre /// </summary> /// <param name="m">Médiathèque manipulée par l'application</param> public MenuPrincipal(Mediatheque m) { this.mediatheque = m; this.listeAffichée = this.mediatheque.Medias; InitializeComponent(); this.InitInfos(); this.InitContenu(); this.initListe(); }
/// <summary> /// Quand l'utilisateur clique sur le bouton accueil /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Accueil_Click(object sender, EventArgs e) { //On réinitialise l'interface this.Modifier.Enabled = false; this.Supprimer.Enabled = false; this.Affichage.Text = ""; this.listeAffichée = this.mediatheque.Medias; this.initListe(); }
/// <summary> /// Quand l'utilisateur clique sur le bouton "Rechercher" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Rechercher_Click(object sender, EventArgs e) { RechercherMedia rech = new RechercherMedia(this.mediatheque); if (rech.ShowDialog() == DialogResult.OK) { this.listeAffichée = rech.Resultat; this.initListe(); this.Affichage.Text = ""; if (rech.Resultat.Medias.Count == 0) { this.Affichage.Text = "Aucun résultat trouvé.\n"; } this.Affichage.Text += "Appuyez sur la touche Accueil pour ré-afficher le contenu de la médiathèque"; } }
/// <summary> /// Initialise l'arbe de visualisation /// </summary> private void InitArbre() { //Pour chaque genre foreach (Genres g in Enum.GetValues(typeof(Genres))) { //On crée un nouveau noeud TreeNode crt = new TreeNode(g.ToString()); crt.ForeColor = Color.DarkViolet; //On récupère la liste des médias qui possèdent ce genre LesMedias liste = this.mediatheque.Medias.GetMediaGenre(g); //On ajoute chaque média dans le noeud courant foreach (Media m in liste.Medias) { TreeNode tn = new TreeNode(m.ToStringMin()); tn.Name = m.Reference; crt.Nodes.Add(tn); } //On ajoute le noeud à l'arbre this.Arbre.Nodes.Add(crt); } }
/// <summary> /// Initialise et crée la fenêtre /// </summary> /// <param name="m">Mediathèque où effectuer la recherche</param> public RechercherMedia(Mediatheque m) { InitializeComponent(); this.mediatheque = m; this.resultat = new LesMedias(); }