Fix class diagram problems and add PropertyChanged attribute
continuous-integration/drone/push Build is passing Details

pull/30/head
Corentin LEMAIRE 2 years ago
parent ec591bb9a4
commit 375cb39e12

@ -145,7 +145,6 @@ class Album {
+ string Description
+ string ImageURL
+ string Information
+ Artist Artist
+ ObservableCollection<InfoTitle> InfoTitles
+ Album(string name, string imageURL, Artist artist, string description, string information)
+ Album()
@ -157,6 +156,7 @@ class Album {
}
class Playlist {
+ event PropertyChangedEventHandler PropertyChanged
+ string Name
+ string Description
+ ObservableCollection<CustomTitle> Titles
@ -178,9 +178,11 @@ class Playlist {
+ string ToString()
- {static} int RandomGenerator(int n)
+ bool HasCustomTitle(CustomTitle customTitle)
# void OnPropertyChanged([CallerMemberName] string propertyName = null)
}
class Title {
+ event PropertyChangedEventHandler PropertyChanged
+ string Name
+ string ImageURL
+ string Information
@ -188,6 +190,7 @@ class Title {
+ boolean Equals(object obj)
+ int GetHashCode()
+ string ToString()
# void OnPropertyChanged([CallerMemberName] string propertyName = null)
}
enum Genre
@ -227,9 +230,8 @@ class CustomTitle {
class InfoTitle {
+ string Description
+ IEnumerable<Artist> Feat
+ Genre Genre
+ long AlbumID
+ InfoTitle(string name, string imageURL, string information, Artist artist, string description, Genre genre, long albumID)
+ InfoTitle(string name, string imageURL, string information, string description, Genre genre, long albumID)
+ InfoTitle()
+ void AddFeat(Artist artist)
+ void RemoveFeat(Artist artiste)
@ -240,17 +242,17 @@ class InfoTitle {
}
class Manager {
+ event PropertyChangedEventHandler PropertyChanged
+ {static} readonly int MAX_NAME_LENGTH = 75
+ {static} readonly int MAX_DESCRIPTION_LENGTH = 500
+ {static} readonly string DEFAULT_NAME = "Unknown"
+ {static} readonly string DEFAULT_URL = "none.png"
+ {static} readonly string DEFAULT_DESC = ""
+ IDataManager DataManager
- ObservableCollection<Album> Albums
- ObservableCollection<CustomTitle> CustomTitles
- ObservableCollection<InfoTitle> InfoTitles
- ObservableCollection<Playlist> Playlists
- ObservableCollection<Artist> Artists
+ ObservableCollection<Album> Albums
+ ObservableCollection<CustomTitle> CustomTitles
+ ObservableCollection<InfoTitle> InfoTitles
+ ObservableCollection<Playlist> Playlists
+ ObservableCollection<Artist> Artists
+ Album CurrentAlbum
+ Playlist CurrentPlaylist
+ InfoTitle CurrentInfoTitle
@ -283,35 +285,35 @@ class Manager {
+ InfoTitle GetInfoTitleByName(string name)
+ Album GetAlbumByName(string name)
+ Album GetAlbumById(long id)
# void OnPropertyChanged([CallerMemberName] string propertyName = null)
}
Album o-- "+ Artist" Artist
Album *-- "+ InfoTitles*" InfoTitle
Album .. Manager
Album o--> "+ Artist" Artist
Album *--> "- infoTitles*" InfoTitle
Album ..> Manager
Artist .. Manager
Artist ..> Manager
Playlist o-- "+ Titles*" CustomTitle
Playlist .. Manager
Playlist o--> "- titles*" CustomTitle
Playlist ..> Manager
Title .. Manager
Title ..> Manager
CustomTitle --|> Title
InfoTitle --|> Title
InfoTitle o--> "+ Genre" Genre
InfoTitle o--> "+ Artist" Artist
InfoTitle o--> "+ Feat*" Artist
Manager o--> "+ Albums*" Album
Manager o--> "+ Artists*" Artist
Manager o--> "+ InfoTitles*" InfoTitle
Manager o--> "+ Playlists*" Playlist
Manager o--> "+ CustomTitles*" CustomTitle
Manager o--> "+ CurrentAlbum" Album
Manager o--> "+ CurrentPlaylist" Playlist
Manager o--> "+ CurrentInfoTitle" InfoTitle
Manager o--> "+ CurrentPlaying" CustomTitle
InfoTitle o--> "- feat*" Feat
Manager o--> "- albums*" Album
Manager o--> "- artists*" Artist
Manager o--> "- infoTitles*" InfoTitle
Manager o--> "- playlists*" Playlist
Manager o--> "- customTitles*" CustomTitle
Manager o--> "- currentAlbum" Album
Manager o--> "- currentPlaylist" Playlist
Manager o--> "- currentInfoTitle" InfoTitle
Manager o--> "- currentPlaying" CustomTitle
@enduml
```
@ -615,15 +617,18 @@ class StubPlaylist {
}
LinqXmlSerialization --|> IDataManager
LinqXmlSerialization o--> "- stubInfoTitle" StubInfoTitle
StubManager --|> IDataManager
StubManager *--> "+ StubArtist" StubArtist
StubManager *--> "+ StubPlaylist" StubPlaylist
StubManager *--> "+ StubAlbum" StubAlbum
StubManager *--> "+ StubInfoTitle" StubInfoTitle
StubManager *--> "+ StubCustomTitle" StubCustomTitle
StubInfoTitle *--> "+ StubArtist" StubArtist
StubAlbum *--> "+ StubArtist" StubArtist
LinqXmlSerialization o--> "+ StubInfoTitle" StubInfoTitle
StubInfoTitle *--> "- stubAlbum" StubAlbum
StubAlbum *--> "- stubArtist" StubArtist
@enduml
```
@ -687,11 +692,11 @@ class StubManager
}
class Manager {}
StubAlbum o--> "+ Albums*" Album
StubArtist *--> "+ Artists*" Artist
StubCustomTitle *--> "+ CustomTitles*" CustomTitle
StubInfoTitle *--> "+ InfoTitles*" InfoTitle
StubPlaylist *--> "+ Playlists*" Playlist
StubAlbum o--> "- albums*" Album
StubArtist *--> "- artists*" Artist
StubCustomTitle *--> "- customTitles*" CustomTitle
StubInfoTitle *--> "- infoTitles*" InfoTitle
StubPlaylist *--> "- playlists*" Playlist
IDataManager ..> Album
IDataManager ..> Artist
@ -700,11 +705,11 @@ IDataManager ..> CustomTitle
IDataManager ..> Playlist
IDataManager ..> Genre
LinqXmlSerialization o--> "+ Artists*" Artist
LinqXmlSerialization o--> "+ Albums*" Album
LinqXmlSerialization o--> "+ Playlists*" Playlist
LinqXmlSerialization o--> "+ Infotitles*" InfoTitle
LinqXmlSerialization o--> "+ Customtitles*" CustomTitle
LinqXmlSerialization o--> "- artists*" Artist
LinqXmlSerialization o--> "- albums*" Album
LinqXmlSerialization o--> "- playlists*" Playlist
LinqXmlSerialization o--> "- infotitles*" InfoTitle
LinqXmlSerialization o--> "- customtitles*" CustomTitle
StubManager ..> InfoTitle
StubManager ..> Artist

Loading…
Cancel
Save