Exemplo n.º 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);
        }
Exemplo n.º 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();
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Méthode statique permettant de supprimer une catégorie appartenant à l'utilisateur
        /// </summary>
        /// <param name="numeroCategorie">Numéro de la catégorie à supprimer</param>
        /// <param name="nomUtilisateur">Nom de l'utilisateur connecté</param>
        /// <returns>Résultat de la suppression</returns>
        public static bool Supprimer(int numeroCategorie, string nomUtilisateur)
        {
            List <Categorie> categories    = Categorie.Lister(nomUtilisateur);
            List <Musique>   Musiques      = Musique.ListerParCategorie(numeroCategorie, nomUtilisateur);
            string           cheminFichier = AppDomain.CurrentDomain.BaseDirectory + nomUtilisateur + "\\categories.dat";
            string           chaine;

            StreamWriter fichier = null;

            bool operationReussie = false;

            try
            {
                fichier = new StreamWriter(cheminFichier, false);
                if (fichier != null)
                {
                    foreach (Categorie c in categories)
                    {
                        if (c.Numero == numeroCategorie)
                        {
                            // Suppression des Musiques
                            foreach (Musique f in Musiques)
                            {
                                Musique.Supprimer(f.Numero, Global.UtilisateurConnecte.Nom);
                            }

                            operationReussie = true;
                        }
                        else
                        {
                            chaine = c.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);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Methode statique permettant de lister les Musiques de l'utilisateur par catégorie
        /// </summary>
        /// <param name="numeroCategorie">Numéro de la catégorie concernée</param>
        /// <param name="nomUtilisateur">Nom de l'utilisateur connecté</param>
        /// <returns>Liste des Musiques appartenant à l'utilisateur et à la catégorie</returns>
        public static List <Musique> ListerParCategorie(int numeroCategorie, string nomUtilisateur)
        {
            List <Musique> listeMusiques = new List <Musique>();
            Musique        Musique;

            string       nomFichier = AppDomain.CurrentDomain.BaseDirectory + nomUtilisateur + "\\Musiques.dat";
            StreamReader fichier    = null;
            string       ligne;

            // Ouverture du fichier en lecture
            try
            {
                fichier = new StreamReader(nomFichier);
                if (fichier != null)
                {
                    // Ajout de tous les Musiques de la catégorie dans la liste
                    while ((ligne = fichier.ReadLine()) != null)
                    {
                        Musique = new Musique();
                        Musique.Deserialiser(ligne);

                        // Vérification que le Musique appartient à la catégorie souhaitée
                        if (numeroCategorie == Musique.NumeroCategorie)
                        {
                            listeMusiques.Add(Musique);
                        }
                    }
                }
            }
            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(listeMusiques);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Méthode statique permettant de rechercher un Musique par son numéro de savoir s'il existe par un booléen passé en paramètre (out)
        /// </summary>
        /// <param name="numeroMusique">Numéro du Musique à rechercher</param>
        /// <param name="nomUtilisateur">Nom de l'utilisateur connecté</param>
        /// <param name="existe">Booléen indiquant si le Musique existe ou non (out)</param>
        /// <returns>Instance de la classe Musique contenant les informations du Musique (null si non trouvés)</returns>
        public static Musique Rechercher(int numeroMusique, string nomUtilisateur, out bool existe)
        {
            Musique      Musique       = new Musique();
            string       cheminFichier = AppDomain.CurrentDomain.BaseDirectory + nomUtilisateur + "\\Musiques.dat";
            StreamReader fichier       = null;
            string       ligne;

            existe = false;

            try
            {
                fichier = new StreamReader(cheminFichier);

                if (fichier != null)
                {
                    // On recherche l'utilisateur pour vori s'il existe
                    while ((ligne = fichier.ReadLine()) != null && existe == false)
                    {
                        // Désarialisation du Musique et vérification poru voir s'il s'agit du Musique recherché
                        Musique = new Musique();
                        if (Musique.Deserialiser(ligne) && Musique.Numero == numeroMusique)
                        {
                            existe = true;
                        }
                    }
                }
            }
            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(Musique);
        }