|
|
|
@ -7,6 +7,7 @@ namespace Model
|
|
|
|
|
/// <remarks>
|
|
|
|
|
/// Classe Album
|
|
|
|
|
/// </remarks>
|
|
|
|
|
|
|
|
|
|
public class Album
|
|
|
|
|
{
|
|
|
|
|
private static long nbAlbum = 0;
|
|
|
|
@ -100,9 +101,14 @@ namespace Model
|
|
|
|
|
|
|
|
|
|
private ObservableCollection<InfoTitle> infoTitles = new ObservableCollection<InfoTitle>();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Constructeur de la classe album
|
|
|
|
|
/// </summary>
|
|
|
|
|
/**
|
|
|
|
|
* \brief Constructeur de la classe album
|
|
|
|
|
* \param[in] name Nom de l'album
|
|
|
|
|
* \param[in] imageURL Chemin d'accès de l'image d'un album
|
|
|
|
|
* \param[in] artist Artiste de l'album
|
|
|
|
|
* \param[in] description Description de l'album
|
|
|
|
|
* \param[in] information Informations complémentaires sur un album
|
|
|
|
|
*/
|
|
|
|
|
public Album(string name, string imageURL, Artist artist, string description, string information)
|
|
|
|
|
{
|
|
|
|
|
id = nbAlbum;
|
|
|
|
@ -121,18 +127,20 @@ namespace Model
|
|
|
|
|
{
|
|
|
|
|
Artist = new Artist(Manager.DEFAULT_NAME);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Permet d'ajouter l'InfoTitle passé en paramètre à la liste
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="title"></param>
|
|
|
|
|
/// <param name="title">Titre à rajouter à l'album</param>
|
|
|
|
|
public void AddTitle(InfoTitle title)
|
|
|
|
|
{
|
|
|
|
|
infoTitles.Add(title);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Permet de supprimer l'InfoTitle passé en paramètre si il est présent dans la liste
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="title"></param>
|
|
|
|
|
/// <param name="title">Titre à supprimer de l'album</param>
|
|
|
|
|
public void RemoveTitle(InfoTitle title)
|
|
|
|
|
{
|
|
|
|
|
infoTitles.Remove(title);
|
|
|
|
@ -141,7 +149,7 @@ namespace Model
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Fonction qui permet de déterminer si deux objets Album sont égaux
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="obj"></param>
|
|
|
|
|
/// <param name="obj">Objet comparé à l'album actuel</param>
|
|
|
|
|
/// <returns>Un booléen indiquant si l'objet est égal</returns>
|
|
|
|
|
public override bool Equals(object obj)
|
|
|
|
|
{
|
|
|
|
@ -150,19 +158,20 @@ namespace Model
|
|
|
|
|
if (obj is Album album && Name == album.Name) return true;
|
|
|
|
|
else return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Permet de déterminer le hash d'un objet Album
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>hash de l'attribut ImageURL</returns>
|
|
|
|
|
/// <returns>Hash de l'attribut Name</returns>
|
|
|
|
|
public override int GetHashCode()
|
|
|
|
|
{
|
|
|
|
|
return ImageURL.GetHashCode();
|
|
|
|
|
return Name.GetHashCode();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Permet de convertir un objet Album en string
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>une nouvelle chaîne caractères contenant le nom de l'album et le nom de l'artiste</returns>
|
|
|
|
|
/// <returns>Une nouvelle chaîne caractères contenant le nom de l'Album et le nom de l'Artist</returns>
|
|
|
|
|
public override string ToString()
|
|
|
|
|
{
|
|
|
|
|
return $"Name : {Name}, Artist : {Artist}";
|
|
|
|
|