Cover art image gets deleted when the song has been deleted #50

This commit is contained in:
amazing-username
2019-07-15 22:12:49 -04:00
parent e4be56101a
commit 84615472ef
3 changed files with 41 additions and 25 deletions
+25
View File
@@ -43,6 +43,31 @@ namespace Icarus.Controllers.Managers
Console.WriteLine("Nothing wrong here");
Console.WriteLine($"song cover art id {song.CoverArtId}");
}
public void DeleteCoverArtFromDatabase(CoverArt coverArt,
CoverArtRepository coverArtRepository)
{
_logger.Info("Attempting to delete cover art from the database");
coverArtRepository.DeleteCoverArt(coverArt);
}
public void DeleteCoverArt(CoverArt coverArt)
{
try
{
var stockCoverArtPath = _rootCoverArtPath + "/CoverArt.png";
if (!string.Equals(stockCoverArtPath, coverArt.ImagePath,
StringComparison.CurrentCultureIgnoreCase))
{
_logger.Info("Song does not contain the stock cover art");
File.Delete(coverArt.ImagePath);
_logger.Info("Cover art deleted from the database");
}
}
catch (Exception ex)
{
var msg = ex.Message;
_logger.Error(msg, "An error occurred");
}
}
public CoverArt SaveCoverArt(Song song)
{
+10 -5
View File
@@ -160,8 +160,10 @@ namespace Icarus.Controllers.Managers
return successful;
}
public void DeleteSong(Song song, SongRepository songStore, AlbumRepository albumStore,
ArtistRepository artistStore, GenreRepository genreStore, YearRepository yearStore)
public void DeleteSong(Song song, SongRepository songStore,
AlbumRepository albumStore, ArtistRepository artistStore,
GenreRepository genreStore, YearRepository yearStore,
CoverArtRepository coverStore)
{
try
{
@@ -171,7 +173,12 @@ namespace Icarus.Controllers.Managers
throw new Exception("Failed to delete the song");
}
var coverMgr = new CoverArtManager(_config.GetValue<string>(
"CoverArtPath"));
var coverArt = coverStore.GetCoverArt(song);
coverMgr.DeleteCoverArt(coverArt);
coverMgr.DeleteCoverArtFromDatabase(coverArt, coverStore);
DeleteSongFromDatabase(song, songStore, albumStore, artistStore,
genreStore, yearStore);
}
@@ -799,9 +806,7 @@ namespace Icarus.Controllers.Managers
return false;
}
var result = DoesSongExistOnFilesystem(song);
return result;
return DoesSongExistOnFilesystem(song);
}
private bool DoesSongExistOnFilesystem(Song song)
{