/// <summary> /// Méthode statique permettant de supprimer un Musique appartenant à l'utilisateur /// </summary> /// <param name="numeroMusique">Numéro du Musique à supprimer</param> /// <param name="nomUtilisateur">Nom de l'utilisateur connecté</param> /// <returns>Résultat de la suppression</returns> public static bool Supprimer(int numeroMusique, string nomUtilisateur) { List <Musique> Musiques = Musique.Lister(nomUtilisateur); string cheminFichier = AppDomain.CurrentDomain.BaseDirectory + nomUtilisateur + "\\Musiques.dat"; string chaine; StreamWriter fichier = null; bool operationReussie = false; try { fichier = new StreamWriter(cheminFichier, false); if (fichier != null) { foreach (Musique f in Musiques) { if (f.Numero == numeroMusique) { // Suppression de l'affiche si elle existe if (f.Affiche != "") { chaine = AppDomain.CurrentDomain.BaseDirectory + nomUtilisateur + "\\images\\" + f.Affiche; if (File.Exists(chaine)) { File.Delete(chaine); } } operationReussie = true; } else { // S'il ne s'agit pas du Musique à supprimer, on réécrit la ligne dans le fichier; chaine = f.Serialiser(); fichier.WriteLine(chaine); } } } } catch (Exception e) { string message = "Une erreur est survenue durant le traitement.\n Détail de l'erreur :\n" + e.Message; MessageBox.Show(message, "Erreur !", MessageBoxButton.OK, MessageBoxImage.Error); } finally { // Fermeture du fichier if (fichier != null) { fichier.Close(); } } return(operationReussie); }
/* * Méthodes publiques */ /// <summary> /// Méthode permettant de sauvegarder les données dans le fichier (ou des les ajouter si besoin) /// <param name="nomUtilisateur">Nom de l'utilisateur connecté</param> /// </summary> public void Sauver(string nomUtilisateur) { List <Musique> Musiques = Musique.Lister(nomUtilisateur); string cheminFichier = AppDomain.CurrentDomain.BaseDirectory + nomUtilisateur + "\\Musiques.dat"; string chaine; StreamWriter fichier = null; bool operationReussie = false; // Ouverture du fichier en écriture try { fichier = new StreamWriter(cheminFichier, false); if (fichier != null) { foreach (Musique f in Musiques) { if (f.Numero == this.Numero) { // Si le Musique lu est le Musique courant, on sérialise la nouvelle instance chaine = this.Serialiser(); operationReussie = true; } else { // Sinon, on resérialise le Musique lu chaine = f.Serialiser(); } // Ecriture dans le fichier fichier.WriteLine(chaine); } // Si l'élément n'est pas trouvé dans la liste, on l'ajoute à la fin if (!operationReussie) { chaine = this.Serialiser(); fichier.WriteLine(chaine); } } } catch (Exception e) { string message = "Une erreur est survenue durant le traitement.\n Détail de l'erreur :\n" + e.Message; MessageBox.Show(message, "Erreur !", MessageBoxButton.OK, MessageBoxImage.Error); } finally { // Fermeture du fichier if (fichier != null) { fichier.Close(); } } }