From 8f6364922b60e8ba8439889501a7480157bf5112 Mon Sep 17 00:00:00 2001 From: amazing-username Date: Wed, 15 May 2019 20:54:52 -0400 Subject: [PATCH] Continuing working on the Genre and Year API functionalty. #41 and #42 --- Models/Context/GenreStoreContext.cs | 75 +++++++++++++++++++++++++++++ Models/Context/YearStoreContext.cs | 14 ++++++ 2 files changed, 89 insertions(+) diff --git a/Models/Context/GenreStoreContext.cs b/Models/Context/GenreStoreContext.cs index da88c6a..577855c 100644 --- a/Models/Context/GenreStoreContext.cs +++ b/Models/Context/GenreStoreContext.cs @@ -88,6 +88,81 @@ namespace Icarus.Models.Context return genre; } + public bool DoesGenreExist(Genre genre) + { + try + { + using (var conn = GetConnection()) + { + conn.Open(); + + var query = "SELECT * FROM Genre WHERE GenreId=@GenreId"; + + using (var cmd = new MySqlCommand(query, conn)) + { + cmd.Parameters.AddWithValue("@GenreId", genre.GenreId); + + using (var reader = cmd.ExecuteReader()) + { + genre = ParseSingleData(reader); + var genreName = genre.GenreName; + + if (!string.IsNullOrEmpty(genreName)) + { + _logger.Info("Genre exists"); + + return true; + } + } + } + } + } + catch (Exception ex) + { + var msg = ex.Message; + _logger.Error(msg, "An error occurred"); + } + + return false; + } + public bool DoesGenreExist(Song song) + { + try + { + using (var conn = GetConnection()) + { + conn.Open(); + + var query = "SELECT * FROM Genre WHERE GenreName=@GenreName"; + + using (var cmd = new MySqlCommand(query, conn)) + { + cmd.Parameters.AddWithValue("@GenreName", song.Genre); + + using (var reader = cmd.ExecuteReader()) + { + var genre = ParseSingleData(reader); + var genreName = genre.GenreName; + + if (!string.IsNullOrEmpty(genreName)) + { + _logger.Info("Genre exists"); + + return true; + } + } + } + } + } + catch (Exception ex) + { + var msg = ex.Message; + _logger.Error(msg, "An error occurred"); + } + + return false; + } + private List ParseData(MySqlDataReader reader) { var genres = new List(); diff --git a/Models/Context/YearStoreContext.cs b/Models/Context/YearStoreContext.cs index dcef60b..1c82ae8 100644 --- a/Models/Context/YearStoreContext.cs +++ b/Models/Context/YearStoreContext.cs @@ -28,6 +28,20 @@ namespace Icarus.Models.Context #region Methods + public List GetSongYear() + { + var yearValues = new List(); + + using (var conn = GetConnection()) + { + conn.Open(); + + var query = "SELECT * FROM Year"; + // TODO: Left off here for the YearStore + } + + return yearValues; + } #endregion } }