diff --git a/Controllers/Managers/CoverArtManager.cs b/Controllers/Managers/CoverArtManager.cs index 0f49171..def41bc 100644 --- a/Controllers/Managers/CoverArtManager.cs +++ b/Controllers/Managers/CoverArtManager.cs @@ -31,17 +31,13 @@ namespace Icarus.Controllers.Managers public void SaveCoverArtToDatabase(ref Song song, ref CoverArt coverArt, CoverArtRepository coverArtRepository) { - Console.WriteLine("Gonig to save cover art record"); + _logger.Info("Saving cover art record to the database"); coverArtRepository.SaveCoverArt(coverArt); - Console.WriteLine($"tlte {coverArt.SongTitle}"); coverArt = coverArtRepository.GetCoverArt(CoverArtField.SongTitle, coverArt); - Console.WriteLine($"cover art id {coverArt.CoverArtId}"); song.CoverArtId = coverArt.CoverArtId; - Console.WriteLine("Nothing wrong here"); - Console.WriteLine($"song cover art id {song.CoverArtId}"); } public void DeleteCoverArtFromDatabase(CoverArt coverArt, CoverArtRepository coverArtRepository) @@ -64,6 +60,7 @@ namespace Icarus.Controllers.Managers else { _logger.Info("Song contains the stock cover art"); + _logger.Info("Will not delete from from the filesystem"); } } catch (Exception ex) @@ -90,10 +87,12 @@ namespace Icarus.Controllers.Managers var imgBytes = metaData.RetrieveCoverArtBytes(song); if (imgBytes != null) + { + _logger.Info("Saving cover art to the filesystem"); File.WriteAllBytes(coverArt.ImagePath, imgBytes); + } else { - Console.WriteLine("Song has no cover art, applying stock cover art"); _logger.Info("Song has no cover art, applying stock cover art"); coverArt.ImagePath = _rootCoverArtPath + "CoverArt.png"; metaData.UpdateCoverArt(song, coverArt); @@ -106,7 +105,6 @@ namespace Icarus.Controllers.Managers { var msg = ex.Message; _logger.Error(msg, "An error occurred"); - Console.WriteLine(msg); } return null; diff --git a/Controllers/Managers/SongManager.cs b/Controllers/Managers/SongManager.cs index c5f4eb6..0212052 100644 --- a/Controllers/Managers/SongManager.cs +++ b/Controllers/Managers/SongManager.cs @@ -169,10 +169,12 @@ namespace Icarus.Controllers.Managers { if (DeleteSongFromFilesystem(song)) { - _logger.Info("Failed to delete the song"); + _logger.Error("Failed to delete the song"); throw new Exception("Failed to delete the song"); } + _logger.Info("Song deleted from the filesystem"); + var coverMgr = new CoverArtManager(_config.GetValue( "CoverArtPath")); var coverArt = coverStore.GetCoverArt(song); diff --git a/Controllers/v1/CoverArtController.cs b/Controllers/v1/CoverArtController.cs index a9dab75..8fac659 100644 --- a/Controllers/v1/CoverArtController.cs +++ b/Controllers/v1/CoverArtController.cs @@ -35,10 +35,7 @@ namespace Icarus.Controllers.V1 [Authorize("download:cover_art")] public IActionResult Get(int id) { - var coverArt = new CoverArt - { - CoverArtId = id - }; + var coverArt = new CoverArt { CoverArtId = id }; var coverArtRepository = HttpContext .RequestServices @@ -49,13 +46,18 @@ namespace Icarus.Controllers.V1 if (coverArt != null) { + _logger.Info("Found cover art record"); var coverArtBytes = System.IO.File.ReadAllBytes( coverArt.ImagePath); + return File(coverArtBytes, "application/x-msdownload", coverArt.SongTitle); } else + { + _logger.Info("Cover art not found"); return NotFound(); + } } #endregion } diff --git a/Database/Repositories/CoverArtRepository.cs b/Database/Repositories/CoverArtRepository.cs index 2314b04..bc1f91e 100644 --- a/Database/Repositories/CoverArtRepository.cs +++ b/Database/Repositories/CoverArtRepository.cs @@ -27,6 +27,8 @@ namespace Icarus.Database.Repositories { conn.Open(); + _logger.Info("Querying cover art record"); + var query = "SELECT * FROM CoverArt WHERE " + "CoverArtId=@CoverArtId"; using (var cmd = new MySqlCommand(query, conn)) @@ -35,15 +37,14 @@ namespace Icarus.Database.Repositories .AddWithValue("@CoverArtId", cover.CoverArtId); using (var reader = cmd.ExecuteReader()) - cover = ParseSingleData(reader); - - return cover; + return ParseSingleData(reader); } } } catch (Exception ex) { var msg = ex.Message; + _logger.Error(msg, "An error occurred"); } return null; @@ -56,6 +57,8 @@ namespace Icarus.Database.Repositories { conn.Open(); + _logger.Info("Querying cover art record"); + var query = "SELECT cov.* FROM CoverArt cov LEFT JOIN " + "Song sng ON cov.CoverArtId=sng.CoverArtId WHERE " + "sng.Id=@SongId"; @@ -71,6 +74,7 @@ namespace Icarus.Database.Repositories catch (Exception ex) { var msg = ex.Message; + _logger.Error(msg, "An error occurred"); } return null; @@ -83,8 +87,9 @@ namespace Icarus.Database.Repositories { conn.Open(); - using (var cmd = new MySqlCommand(BuildQuery(field), - conn)) + _logger.Info("Querying cover art record"); + + using (var cmd = new MySqlCommand(BuildQuery(field), conn)) { switch (field) { @@ -106,6 +111,7 @@ namespace Icarus.Database.Repositories catch (Exception ex) { var msg = ex.Message; + _logger.Error(msg, "An error occurred"); } return null; @@ -128,6 +134,8 @@ namespace Icarus.Database.Repositories { conn.Open(); + _logger.Info("Saving cover art record"); + var query = "INSERT INTO CoverArt(SongTitle, ImagePath) " + "VALUES(@SongTitle, @ImagePath)"; using (var cmd = new MySqlCommand(query, conn)) @@ -144,6 +152,7 @@ namespace Icarus.Database.Repositories catch (Exception ex) { var msg = ex.Message; + _logger.Error(msg, "An error occurred"); } } public void DeleteCoverArt(CoverArt cover) @@ -154,6 +163,8 @@ namespace Icarus.Database.Repositories { conn.Open(); + _logger.Info("Deleting cover art record"); + var query = "DELETE FROM CoverArt WHERE " + "CoverArtId=@CoverArtId"; using (var cmd = new MySqlCommand(query, conn)) @@ -177,6 +188,7 @@ namespace Icarus.Database.Repositories if (reader.HasRows) { var coverArtList = new List(); + _logger.Info("Parsing cover art records"); while (reader.Read()) coverArtList.Add(new CoverArt { @@ -195,6 +207,7 @@ namespace Icarus.Database.Repositories { if (reader.HasRows) { + _logger.Info("Parsing single cover art record"); reader.Read(); return new CoverArt @@ -228,6 +241,9 @@ namespace Icarus.Database.Repositories { conn.Open(); + _logger.Info("Checking to see if there are any cover art " + + "records"); + var query = "SELECT * FROM CoverArt"; using (var cmd = new MySqlCommand(query, conn)) using (var reader = cmd.ExecuteReader())