pull/22/head
Corentin LEMAIRE 2 years ago
parent c104cf1758
commit ddd0f8956d

@ -1,39 +1,101 @@
namespace Model;
public interface IDataManager
{
List<CustomTitle> GetCustomTitles();
{
// Create
void AddAlbum(Album album);
List<InfoTitle> GetInfoTitles();
void AddAlbums(List<Album> albumsList);
List<Album> GetAlbums();
void AddArtist(Artist artist);
List<Artist> GetArtists();
void AddArtists(List<Artist> artistsList);
List<Playlist> GetPlaylists();
void AddPlaylist(Playlist playlist);
void AddPlaylists(List<Playlist> playlistsList);
void AddCustomTitle(CustomTitle title);
void AddCustomTitles(List<CustomTitle> customTitlesList);
void AddInfoTitle(InfoTitle title);
void AddInfoTitles(List<InfoTitle> infoTitlesList);
// Read
List<CustomTitle> GetCustomTitles();
CustomTitle? GetCustomTitleByUrl(string custom);
void AddAlbum(Album album);
List<InfoTitle> GetInfoTitles();
void AddArtist(Artist artist);
InfoTitle? GetInfoTitleByUrl(string url);
void AddPlaylist(Playlist playlist);
List<Album> GetAlbums();
void AddCustomTitle(CustomTitle title);
Album? GetAlbumByUrl(string url);
List<Artist> GetArtists();
void AddInfoTitle(InfoTitle title);
Artist? GetArtistByName(string name);
List<Playlist> GetPlaylists();
Playlist? GetPlaylistByUrl(string url);
// Update
void UpdateCustomTitle(CustomTitle title, string name, string url, string info, string path);
void UpdateCustomTitleByUrl(string url, string name, string newUrl, string info, string path);
void UpdateInfoTitle(InfoTitle title, string name, string url, string info, Artist artist, string description, Genre genre);
void UpdateInfoTitleByName(string url, string name, string newUrl, string info, Artist artist, string description, Genre genre);
void UpdateInfoTitleByArtistName(InfoTitle title, string name, string url, string info, string artist, string description, Genre genre);
void UpdateInfoTitleByNameByArtistName(string url, string name, string newUrl, string info, string artist, string description, Genre genre);
void UpdateAlbum(Album album, string name, string url, Artist artist, string description, string info);
void UpdateAlbumByUrl(string url, string name, string newUrl, Artist artist, string description, string info);
void UpdateAlbumByArtistName(Album album, string name, string url, string artist, string description, string info);
void UpdateAlbumByUrlByArtistName(string url, string name, string newUrl, string artist, string description, string info);
void UpdatePlaylist(Playlist playlist, string name, string description, string url);
void UpdatePlaylistByUrl(string url, string name, string description, string newUrl);
void UpdateArtist(Artist artist, string name);
void UpdateArtistByName(string name, string newName);
// Delete
void RemoveAlbum(Album album);
void RemoveAlbums(List<Album> albumsList);
void RemoveArtist(Artist artist);
void RemoveArtists(List<Artist> artistsList);
void RemovePlaylist(Playlist playlist);
void RemovePlaylists(List<Playlist> playlistsList);
void RemoveCustomTitle(CustomTitle title);
void RemoveCustomTitles(List<CustomTitle> customTitlesList);
void RemoveInfoTitle(InfoTitle title);
void RemoveInfoTitles(List<InfoTitle> infoTitlesList);
// Serialization
void LoadSerialization();
void SaveSerialization();

@ -7,6 +7,7 @@ using System.Xml.Linq;
using System.Xml.Serialization;
using static System.Reflection.Metadata.BlobBuilder;
using System.Reflection.Metadata;
using System.IO;
namespace Model.Serialization;
@ -610,4 +611,256 @@ public class LINQ_XML_Serialization : IDataManager
}
return null;
}
public void AddAlbums(List<Album> albumsList)
{
foreach(Album a in albumsList)
{
albums.Add(a);
}
}
public void AddArtists(List<Artist> artistsList)
{
foreach (Artist a in artistsList)
{
artists.Add(a);
}
}
public void AddPlaylists(List<Playlist> playlistsList)
{
foreach (Playlist p in playlistsList)
{
playlists.Add(p);
}
}
public void AddCustomTitles(List<CustomTitle> customTitlesList)
{
foreach (CustomTitle ct in customTitlesList)
{
customTitles.Add(ct);
}
}
public void AddInfoTitles(List<InfoTitle> infoTitlesList)
{
foreach (InfoTitle it in infoTitlesList)
{
infoTitles.Add(it);
}
}
public Playlist? GetPlaylistByUrl(string url)
{
foreach(Playlist p in playlists)
{
if (p.ImageURL == url)
{
return p;
}
}
return null;
}
public void UpdateCustomTitle(CustomTitle title, string name, string url, string info, string path)
{
title.Name = name;
title.ImageURL = url;
title.Information = info;
title.Path = path;
}
public void UpdateCustomTitleByUrl(string url, string name, string newUrl, string info, string path)
{
CustomTitle? title = GetCustomTitleByUrl(url);
if (title != null)
{
title.Name = name;
title.ImageURL = newUrl;
title.Information = info;
title.Path = path;
}
}
public void UpdateInfoTitle(InfoTitle title, string name, string url, string info, Artist artist, string description, Genre genre)
{
title.Name = name;
title.ImageURL = url;
title.Information = info;
title.Artist = artist;
title.Description = description;
title.Genre = genre;
}
public void UpdateInfoTitleByName(string url, string name, string newUrl, string info, Artist artist, string description, Genre genre)
{
InfoTitle? title = GetInfoTitleByUrl(url);
if (title != null)
{
title.Name = name;
title.ImageURL = newUrl;
title.Information = info;
title.Artist = artist;
title.Description = description;
title.Genre = genre;
}
}
public void UpdateInfoTitleByArtistName(InfoTitle title, string name, string url, string info, string artist, string description, Genre genre)
{
title.Name = name;
title.ImageURL = url;
title.Information = info;
Artist? artist2 = GetArtistByName(artist);
if (artist2 != null)
{
title.Artist = artist2;
}
title.Description = description;
title.Genre = genre;
}
public void UpdateInfoTitleByNameByArtistName(string url, string name, string newUrl, string info, string artist, string description, Genre genre)
{
InfoTitle? title = GetInfoTitleByUrl(url);
if (title != null)
{
title.Name = name;
title.ImageURL = newUrl;
title.Information = info;
Artist? artist2 = GetArtistByName(artist);
if (artist2 != null)
{
title.Artist = artist2;
}
title.Description = description;
title.Genre = genre;
}
}
public void UpdateAlbum(Album album, string name, string url, Artist artist, string description, string info)
{
album.Name = name;
album.ImageURL = url;
album.Artist = artist;
album.Description = description;
album.Information = info;
}
public void UpdateAlbumByUrl(string url, string name, string newUrl, Artist artist, string description, string info)
{
Album? album = GetAlbumByUrl(url);
if (album != null)
{
album.Name = name;
album.ImageURL = newUrl;
album.Artist = artist;
album.Description = description;
album.Information= info;
}
}
public void UpdateAlbumByArtistName(Album album, string name, string url, string artist, string description, string info)
{
album.Name = name;
album.ImageURL = url;
Artist? artist2 = GetArtistByName(artist);
if (artist2 != null)
{
album.Artist = artist2;
}
album.Description = description;
album.Information = info;
}
public void UpdateAlbumByUrlByArtistName(string url, string name, string newUrl, string artist, string description, string info)
{
Album? album = GetAlbumByUrl(url);
if (album != null)
{
album.Name = name;
album.ImageURL = newUrl;
Artist? artist2 = GetArtistByName(artist);
if (artist2 != null)
{
album.Artist = artist2;
}
album.Description = description;
album.Information = info;
}
}
public void UpdatePlaylist(Playlist playlist, string name, string description, string url)
{
playlist.Name = name;
playlist.Description = description;
playlist.ImageURL = url;
}
public void UpdatePlaylistByUrl(string url, string name, string description, string newUrl)
{
Playlist? playlist = GetPlaylistByUrl(url);
if (playlist != null)
{
playlist.Name = name;
playlist.Description = description;
playlist.ImageURL = newUrl;
}
}
public void UpdateArtist(Artist artist, string name)
{
artist.Name = name;
}
public void UpdateArtistByName(string name, string newName)
{
Artist? artist = GetArtistByName(newName);
if (artist != null)
{
artist.Name = newName;
}
}
public void RemoveAlbums(List<Album> albumsList)
{
foreach (Album album in albumsList)
{
albums.Remove(album);
}
}
public void RemoveArtists(List<Artist> artistsList)
{
foreach(Artist artist in artistsList)
{
artists.Remove(artist);
}
}
public void RemovePlaylists(List<Playlist> playlistsList)
{
foreach (Playlist playlist in playlistsList)
{
playlists.Remove(playlist);
}
}
public void RemoveCustomTitles(List<CustomTitle> customTitlesList)
{
foreach(CustomTitle customTitle in customTitlesList)
{
customTitles.Remove(customTitle);
}
}
public void RemoveInfoTitles(List<InfoTitle> infoTitlesList)
{
foreach (InfoTitle infoTitle in infoTitlesList)
{
infoTitles.Remove(infoTitle);
}
}
}

@ -87,12 +87,6 @@ public class StubManager : IDataManager
stubCustomTitle = new StubCustomTitle();
stubInfoTitle = new StubInfoTitle();
stubPlaylist = new StubPlaylist();
dictAlbumInfo.Add(StubAlbum.GetAlbumByUrl("lastreet.png"), StubInfoTitle.GetInfoTitlesByUrl(new List<string>() { "url1.png", "url2.png" }));
dictAlbumInfo.Add(StubAlbum.GetAlbumByUrl("oui.png"), StubInfoTitle.GetInfoTitlesByUrl(new List<string>() { "url2.png" }));
dictPlaylistTitles.Add(StubPlaylist.GetPlaylistByUrl("url1.png"), StubCustomTitle.GetCustomTitlesByUrl(new List<string>() { "url1.png", "url2.png" }));
dictPlaylistTitles.Add(StubPlaylist.GetPlaylistByUrl("url2.png"), StubCustomTitle.GetCustomTitlesByUrl(new List<string>() { "url2.png", "url3.png" }));
}
public List<Album> GetAlbums()
@ -202,4 +196,271 @@ public class StubManager : IDataManager
}
return null;
}
public InfoTitle? GetInfoTitleByUrl(string url)
{
throw new NotImplementedException();
}
public Album? GetAlbumByUrl(string url)
{
throw new NotImplementedException();
}
public Artist? GetArtistByName(string name)
{
throw new NotImplementedException();
}
public void AddAlbums(List<Album> albumsList)
{
foreach (Album a in albumsList)
{
StubAlbum.AddAlbum(a);
}
}
public void AddArtists(List<Artist> artistsList)
{
foreach (Artist a in artistsList)
{
StubArtist.AddArtist(a);
}
}
public void AddPlaylists(List<Playlist> playlistsList)
{
foreach (Playlist p in playlistsList)
{
StubPlaylist.AddPlaylist(p);
}
}
public void AddCustomTitles(List<CustomTitle> customTitlesList)
{
foreach (CustomTitle ct in customTitlesList)
{
StubCustomTitle.AddCustomTitle(ct);
}
}
public void AddInfoTitles(List<InfoTitle> infoTitlesList)
{
foreach (InfoTitle it in infoTitlesList)
{
StubInfoTitle.AddInfoTitle(it);
}
}
public Playlist? GetPlaylistByUrl(string url)
{
foreach (Playlist p in StubPlaylist.Playlists)
{
if (p.ImageURL == url)
{
return p;
}
}
return null;
}
public void UpdateCustomTitle(CustomTitle title, string name, string url, string info, string path)
{
title.Name = name;
title.ImageURL = url;
title.Information = info;
title.Path = path;
}
public void UpdateCustomTitleByUrl(string url, string name, string newUrl, string info, string path)
{
CustomTitle? title = GetCustomTitleByUrl(url);
if (title != null)
{
title.Name = name;
title.ImageURL = newUrl;
title.Information = info;
title.Path = path;
}
}
public void UpdateInfoTitle(InfoTitle title, string name, string url, string info, Artist artist, string description, Genre genre)
{
title.Name = name;
title.ImageURL = url;
title.Information = info;
title.Artist = artist;
title.Description = description;
title.Genre = genre;
}
public void UpdateInfoTitleByName(string url, string name, string newUrl, string info, Artist artist, string description, Genre genre)
{
InfoTitle? title = GetInfoTitleByUrl(url);
if (title != null)
{
title.Name = name;
title.ImageURL = newUrl;
title.Information = info;
title.Artist = artist;
title.Description = description;
title.Genre = genre;
}
}
public void UpdateInfoTitleByArtistName(InfoTitle title, string name, string url, string info, string artist, string description, Genre genre)
{
title.Name = name;
title.ImageURL = url;
title.Information = info;
Artist? artist2 = GetArtistByName(artist);
if (artist2 != null)
{
title.Artist = artist2;
}
title.Description = description;
title.Genre = genre;
}
public void UpdateInfoTitleByNameByArtistName(string url, string name, string newUrl, string info, string artist, string description, Genre genre)
{
InfoTitle? title = GetInfoTitleByUrl(url);
if (title != null)
{
title.Name = name;
title.ImageURL = newUrl;
title.Information = info;
Artist? artist2 = GetArtistByName(artist);
if (artist2 != null)
{
title.Artist = artist2;
}
title.Description = description;
title.Genre = genre;
}
}
public void UpdateAlbum(Album album, string name, string url, Artist artist, string description, string info)
{
album.Name = name;
album.ImageURL = url;
album.Artist = artist;
album.Description = description;
album.Information = info;
}
public void UpdateAlbumByUrl(string url, string name, string newUrl, Artist artist, string description, string info)
{
Album? album = GetAlbumByUrl(url);
if (album != null)
{
album.Name = name;
album.ImageURL = newUrl;
album.Artist = artist;
album.Description = description;
album.Information = info;
}
}
public void UpdateAlbumByArtistName(Album album, string name, string url, string artist, string description, string info)
{
album.Name = name;
album.ImageURL = url;
Artist? artist2 = GetArtistByName(artist);
if (artist2 != null)
{
album.Artist = artist2;
}
album.Description = description;
album.Information = info;
}
public void UpdateAlbumByUrlByArtistName(string url, string name, string newUrl, string artist, string description, string info)
{
Album? album = GetAlbumByUrl(url);
if (album != null)
{
album.Name = name;
album.ImageURL = newUrl;
Artist? artist2 = GetArtistByName(artist);
if (artist2 != null)
{
album.Artist = artist2;
}
album.Description = description;
album.Information = info;
}
}
public void UpdatePlaylist(Playlist playlist, string name, string description, string url)
{
playlist.Name = name;
playlist.Description = description;
playlist.ImageURL = url;
}
public void UpdatePlaylistByUrl(string url, string name, string description, string newUrl)
{
Playlist? playlist = GetPlaylistByUrl(url);
if (playlist != null)
{
playlist.Name = name;
playlist.Description = description;
playlist.ImageURL = newUrl;
}
}
public void UpdateArtist(Artist artist, string name)
{
artist.Name = name;
}
public void UpdateArtistByName(string name, string newName)
{
Artist? artist = GetArtistByName(newName);
if (artist != null)
{
artist.Name = newName;
}
}
public void RemoveAlbums(List<Album> albumsList)
{
foreach (Album album in albumsList)
{
StubAlbum.RemoveAlbum(album);
}
}
public void RemoveArtists(List<Artist> artistsList)
{
foreach (Artist artist in artistsList)
{
StubArtist.RemoveArtist(artist);
}
}
public void RemovePlaylists(List<Playlist> playlistsList)
{
foreach (Playlist playlist in playlistsList)
{
StubPlaylist.RemovePlaylist(playlist);
}
}
public void RemoveCustomTitles(List<CustomTitle> customTitlesList)
{
foreach (CustomTitle customTitle in customTitlesList)
{
StubCustomTitle.RemoveCustomTitle(customTitle);
}
}
public void RemoveInfoTitles(List<InfoTitle> infoTitlesList)
{
foreach (InfoTitle infoTitle in infoTitlesList)
{
StubInfoTitle.RemoveInfoTitle(infoTitle);
}
}
}

Loading…
Cancel
Save