Continuing work on issue #41 and #42. Added functionality to delete album and artist records

This commit is contained in:
amazing-username
2019-05-16 21:47:19 -04:00
parent 8f6364922b
commit a471d40cb6
5 changed files with 367 additions and 9 deletions
+78 -2
View File
@@ -123,6 +123,8 @@ namespace Icarus.Models.Context
_logger.Error(msg, "An error occurred");
}
_logger.Info("Genre does not exist");
return false;
}
public bool DoesGenreExist(Song song)
@@ -133,11 +135,11 @@ namespace Icarus.Models.Context
{
conn.Open();
var query = "SELECT * FROM Genre WHERE GenreName=@GenreName";
var query = "SELECT * FROM Song WHERE Genre=@Genre";
using (var cmd = new MySqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@GenreName", song.Genre);
cmd.Parameters.AddWithValue("@Genre", song.Genre);
using (var reader = cmd.ExecuteReader())
{
@@ -160,9 +162,83 @@ namespace Icarus.Models.Context
_logger.Error(msg, "An error occurred");
}
_logger.Info("Genre does not exist");
return false;
}
public void SaveGenre(Genre genre)
{
try
{
using (var conn = GetConnection())
{
var query = "INSERT INTO Genre(GenreName, SongCount) VALUES(" +
"@GenreName, @SongCount)";
using (var cmd = new MySqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@GenreName", genre.GenreName);
cmd.Parameters.AddWithValue("@SongCount", genre.SongCount);
cmd.ExecuteNonQuery();
}
}
}
catch (Exception ex)
{
var msg = ex.Message;
_logger.Error(msg, "An error occurred");
}
}
public void UpdateGenre(Genre genre)
{
try
{
using (var conn = GetConnection())
{
var query = "UPDATE Genre SET GenreName=@GenreName, " +
"SongCount=@SongCount WHERE GenreId=@GenreId";
using (var cmd = new MySqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@GenreName", genre.GenreName);
cmd.Parameters.AddWithValue("@SongCount", genre.SongCount);
cmd.Parameters.AddWithValue("@GenreId", genre.GenreId);
cmd.ExecuteNonQuery();
}
}
}
catch (Exception ex)
{
var msg = ex.Message;
_logger.Error(msg, "An error occurred");
}
}
public void DeleteGenre(Genre genre)
{
try
{
using (var conn = GetConnection())
{
var query = "DELETE Genre WHERE GenreId=@GenreId";
using (var cmd = new MySqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@GenreId", genre.GenreId);
cmd.ExecuteNonQuery();
}
}
}
catch (Exception ex)
{
var msg = ex.Message;
_logger.Error(msg, "An error occurred");
}
}
private List<Genre> ParseData(MySqlDataReader reader)
{
var genres = new List<Genre>();