Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /*
         * 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();
                }
            }
        }