using Harmonia.Core.Data; namespace Harmonia.Core.Playlists; public class PlaylistRepository : JsonFileRepository, IPlaylistRepository { protected override string DirectoryName => string.Empty; public Playlist? GetPlaylist(PlaylistSong playlistSong) { return Get().FirstOrDefault(playlist => playlist.Songs.Contains(playlistSong)); } protected override string GetNewFileName() { for (int i = 0; i < 1000; i++) { string shortFileName = $"Playlist{i.ToString().PadLeft(3, '0')}.{Extension}"; string filePath = Path.Combine(DirectoryName, shortFileName); if (File.Exists(filePath) == false) return shortFileName; } throw new Exception("Unable to determine new fileName"); } }