Files
harmonia/Harmonia.Core/Playlists/PlaylistRepository.cs

27 lines
811 B
C#

using Harmonia.Core.Data;
namespace Harmonia.Core.Playlists;
public class PlaylistRepository : JsonFileRepository<Playlist>, 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");
}
}