From 922e52781993de1e37d4126e2ae9a16c94a65b6c Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Wed, 22 Dec 2021 20:28:20 -0500 Subject: [PATCH] Removing repositories --- Database/Repositories/AlbumRepository.cs | 385 ----------------- Database/Repositories/ArtistRepository.cs | 355 ---------------- Database/Repositories/BaseRepository.cs | 23 - Database/Repositories/CoverArtRepository.cs | 282 ------------ Database/Repositories/GenreRepository.cs | 447 -------------------- Database/Repositories/SongRepository.cs | 324 -------------- Database/Repositories/UserRepository.cs | 229 ---------- Database/Repositories/YearRepository.cs | 367 ---------------- 8 files changed, 2412 deletions(-) delete mode 100644 Database/Repositories/AlbumRepository.cs delete mode 100644 Database/Repositories/ArtistRepository.cs delete mode 100644 Database/Repositories/BaseRepository.cs delete mode 100644 Database/Repositories/CoverArtRepository.cs delete mode 100644 Database/Repositories/GenreRepository.cs delete mode 100644 Database/Repositories/SongRepository.cs delete mode 100644 Database/Repositories/UserRepository.cs delete mode 100644 Database/Repositories/YearRepository.cs diff --git a/Database/Repositories/AlbumRepository.cs b/Database/Repositories/AlbumRepository.cs deleted file mode 100644 index 5d67305..0000000 --- a/Database/Repositories/AlbumRepository.cs +++ /dev/null @@ -1,385 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; - -using MySql.Data.MySqlClient; - -using Icarus.Models; - -namespace Icarus.Database.Repositories -{ - public class AlbumRepository : BaseRepository - { - #region Fields - #endregion - - - #region Properties - #endregion - - - #region Constructors - public AlbumRepository(string connectionString) - { - _connectionString = connectionString; - } - #endregion - - - #region Methods - public List GetAlbumWithoutCount() - { - var albums = new List(); - - if (AnyAlbums()) - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "SELECT * FROM Album"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - albums = ParseData(reader); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return albums; - } - public List GetAlbums() - { - List albums = new List(); - - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "SELECT alb.*,COUNT(*) AS SongCount FROM Album alb " + - "LEFT JOIN Song sng ON alb.AlbumId=sng.AlbumId WHERE " + - "alb.AlbumId=sng.AlbumId GROUP BY alb.AlbumId"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - albums = ParseData(reader); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return albums; - } - - public Album GetAlbum(Album album) - { - - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "SELECT alb.*, COUNT(*) AS SongCount FROM Album alb " + - "LEFT JOIN Song sng ON alb.AlbumId=sng.AlbumId WHERE "+ - "alb.AlbumId=@AlbumId LIMIT 1"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@AlbumId", album.AlbumId); - - using (var reader = cmd.ExecuteReader()) - album = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return album; - } - public Album GetAlbum(Song song) - { - var album = new Album(); - - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "SELECT alb.*, 0 AS SongCount FROM Album alb " + - "WHERE alb.Title=@Title LIMIT 1"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - Console.WriteLine($"Album title {song.AlbumTitle}"); - cmd.Parameters.AddWithValue("@Title", song.AlbumTitle); - - using (var reader = cmd.ExecuteReader()) - album = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return album; - } - public Album GetAlbum(Song song, bool retrieveCount) - { - var album = new Album(); - - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = string.Empty; - if (retrieveCount) - query = "SELECT alb.*, COUNT(*) AS SongCount FROM Album alb " + - "LEFT JOIN Song sng ON alb.AlbumId=sng.AlbumId WHERE " + - "alb.Title=@Title GROUP BY alb.AlbumId LIMIT 1"; - else - query = "SELECT alb.*, 0 AS SongCount FROM Album alb WHERE " + - "alb.Title=@Title LIMIT 1"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Title", song.AlbumTitle); - - using (var reader = cmd.ExecuteReader()) - album = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return album; - } - - public bool DoesAlbumExist(Album album) - { - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT alb.*, 0 AS SongCount FROM Album alb WHERE alb.AlbumId=@AlbumId"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@AlbumId", album.AlbumId); - - using (var reader = cmd.ExecuteReader()) - { - album = ParseSingleData(reader); - - if (album.Title != null) - { - _logger.Info($"Album {album.Title} exists"); - return true; - } - } - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - return false; - } - public bool DoesAlbumExist(Song song) - { - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT alb.*, 0 AS SongCount FROM Album alb WHERE alb.Title=@Title"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Title", song.AlbumTitle); - - using (var reader = cmd.ExecuteReader()) - { - var album = ParseSingleData(reader); - - if (!String.IsNullOrEmpty(album.Title)) - { - _logger.Info($"Album {album.Title} exists"); - return true; - } - } - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - return false; - } - - public void SaveAlbum(Album album) - { - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "INSERT INTO Album(Title, AlbumArtist)" + - " VALUES (@Title, @AlbumArtist)"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Title", album.Title); - cmd.Parameters.AddWithValue("@AlbumArtist", album.AlbumArtist); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void UpdateAlbum(Album album) - { - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "UPDATE Album SET Title=@Title, AlbumArtist=" + - "@AlbumArtist WHERE AlbumId=@AlbumId"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Title", album.Title); - cmd.Parameters.AddWithValue("@AlbumArtist", album.AlbumArtist); - cmd.Parameters.AddWithValue("@AlbumId", album.AlbumId); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void DeleteAlbum(Album album) - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - var query = "DELETE FROM Album WHERE AlbumId=@AlbumId"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@AlbumId", album.AlbumId); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - private List ParseData(MySqlDataReader reader) - { - List albums = new List(); - _logger.Info("Retrieving album records"); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["AlbumId"]); - var title = reader["Title"].ToString(); - var albumArtist = reader["AlbumArtist"].ToString(); - var songCount = Convert.ToInt32(reader["SongCount"]); - albums.Add(new Album - { - AlbumId = id, - Title = title, - AlbumArtist = albumArtist, - SongCount = songCount - }); - } - - _logger.Info("Album records retrieved"); - - return albums; - } - private Album ParseSingleData(MySqlDataReader reader) - { - Album album = new Album(); - _logger.Info("Retrieving single album record"); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["AlbumId"]); - var title = reader["Title"].ToString(); - var albumArtist = reader["AlbumArtist"].ToString(); - var songCount = Convert.ToInt32(reader["SongCount"]); - album = new Album - { - AlbumId = id, - Title = title, - AlbumArtist = albumArtist, - SongCount = songCount - }; - } - _logger.Info("Single ablum retreived"); - - return album; - } - - private bool AnyAlbums() - { - var albums = new List(); - - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT * FROM Album"; - - using (var cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - albums = ParseData(reader); - } - - if (albums.Count > 0) - return true; - - return false; - } - #endregion - } -} diff --git a/Database/Repositories/ArtistRepository.cs b/Database/Repositories/ArtistRepository.cs deleted file mode 100644 index e71d993..0000000 --- a/Database/Repositories/ArtistRepository.cs +++ /dev/null @@ -1,355 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; - -using Microsoft.Extensions.Logging; -using MySql.Data.MySqlClient; -//using NLog; - -using Icarus.Models; - -namespace Icarus.Database.Repositories -{ - public class ArtistRepository : BaseRepository - { - #region Fields - #endregion - - - #region Properties - #endregion - - - #region Constructors - public ArtistRepository(string connectionString) - { - _connectionString = connectionString; - } - #endregion - - - #region Methods - public List GetArtists() - { - List artists = new List(); - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "SELECT art.*, COUNT(*) AS SongCount FROM Artist " + - "art LEFT JOIN Song sng ON art.ArtistId=sng.ArtistId " + - "GROUP BY art.ArtistId"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - artists = ParseData(reader); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return artists; - } - - public Artist GetArtist(Artist artist) - { - try - { - _logger.Info("Retrieving artist record from the database"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT art.*, COUNT(*) AS SongCount FROM Artist " + - "art LEFT JOIN Song sng ON art.ArtistId=sng.ArtistId " + - "WHERE art.ArtistId=@ArtistId"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@ArtistId", artist.ArtistId); - - using (var reader = cmd.ExecuteReader()) - artist = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return artist; - } - public Artist GetArtist(Song song) - { - Artist artist = new Artist(); - try - { - _logger.Info("Retrieving artist record from the database"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT art.*, 0 AS SongCount FROM Artist " + - "art WHERE art.Name=@Name"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Name", song.Artist); - - using (var reader = cmd.ExecuteReader()) - artist = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return artist; - } - public Artist GetArtist(Song song, bool retrieveCount) - { - var artist = new Artist(); - - try - { - _logger.Info("Retrieving artist record from the database"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - - var query = string.Empty; - - if (retrieveCount) - query = "SELECT art.*, COUNT(*) AS SongCount FROM Artist " + - "art LEFT JOIN Song sng ON art.ArtistId=sng.ArtistId " + - "WHERE art.Name=@Name GROUP BY art.ArtistId LIMIT 1"; - else - query = "SELECT art.*, 0 AS SongCount FROM Artist art " + - "WHERE art.Name=@Name LIMIT 1"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Name", song.Artist); - - using (var reader = cmd.ExecuteReader()) - artist = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return artist; - } - - public bool DoesArtistExist(Artist artist) - { - try - { - _logger.Info("Checking to see if Artist exists"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT art.*, 0 AS SongCount FROM Artist art WHERE art.ArtistId=@ArtistId"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@ArtistId", artist.ArtistId); - - using (var reader = cmd.ExecuteReader()) - { - artist = ParseSingleData(reader); - - if (artist.Name != null) - { - _logger.Info($"Artist {artist.Name} exists"); - return true; - } - } - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - _logger.Info("Could not successfully retrieve Artist"); - - return false; - } - public bool DoesArtistExist(Song song) - { - try - { - _logger.Info("Checking to see if Artist exists"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT art.*, 0 AS SongCount FROM Artist art WHERE art.Name=@Name"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Name", song.Artist); - - using (var reader = cmd.ExecuteReader()) - { - var artist = ParseSingleData(reader); - - if (!String.IsNullOrEmpty(artist.Name)) - { - _logger.Info($"Artist {artist.Name} exists"); - return true; - } - } - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - _logger.Info("Could not successfully retrieve Artist"); - - return false; - } - - - public void SaveArtist(Artist artist) - { - try - { - _logger.Info("Saving artist record"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "INSERT INTO Artist(Name) VALUES(@Name)"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Name", artist.Name); - - cmd.ExecuteNonQuery(); - } - } - - _logger.Info("Artist record has successfully been saved"); - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void UpdateArtist(Artist artist) - { - try - { - _logger.Info("Updating artist record"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "UPDATE Artist SET Name=@Name WHERE ArtistId=@ArtistId"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Name", artist.Name); - cmd.Parameters.AddWithValue("@ArtistId", artist.ArtistId); - - cmd.ExecuteNonQuery(); - } - } - - _logger.Info("Artist record has successfully been saved"); - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void DeleteArtist(Artist artist) - { - try - { - _logger.Info("Deleting artist record"); - - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "DELETE FROM Artist WHERE ArtistId=@ArtistId"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@ArtistId", artist.ArtistId); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - private List ParseData(MySqlDataReader reader) - { - List artists = new List(); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["ArtistId"]); - var name = reader["Name"].ToString(); - var songCount = Convert.ToInt32(reader["SongCount"].ToString()); - artists.Add(new Artist - { - ArtistId = id, - Name = name, - SongCount = songCount - }); - } - - _logger.Info("Artist records retrieved"); - - return artists; - } - - private Artist ParseSingleData(MySqlDataReader reader) - { - Artist artist = new Artist(); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["ArtistId"]); - var name = reader["Name"].ToString(); - var songCount = Convert.ToInt32(reader["SongCount"].ToString()); - artist.ArtistId = id; - artist.Name = name; - artist.SongCount = songCount; - } - - _logger.Info("Single artist record retrieved"); - - return artist; - } - #endregion - } -} diff --git a/Database/Repositories/BaseRepository.cs b/Database/Repositories/BaseRepository.cs deleted file mode 100644 index 687a73f..0000000 --- a/Database/Repositories/BaseRepository.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; - -using MySql.Data.MySqlClient; -using NLog; - -namespace Icarus.Database.Repositories -{ - public class BaseRepository - { - #region Fields - protected string _connectionString; - protected static Logger _logger = NLog.LogManager.GetCurrentClassLogger(); - #endregion - - - #region Methods - protected MySqlConnection GetConnection() - { - return new MySqlConnection(_connectionString); - } - #endregion - } -} diff --git a/Database/Repositories/CoverArtRepository.cs b/Database/Repositories/CoverArtRepository.cs deleted file mode 100644 index c728c75..0000000 --- a/Database/Repositories/CoverArtRepository.cs +++ /dev/null @@ -1,282 +0,0 @@ -using System; -using System.Collections.Generic; - -using MySql.Data.MySqlClient; - -using Icarus.Models; -using Icarus.Types; - -namespace Icarus.Database.Repositories -{ - public class CoverArtRepository : BaseRepository - { - #region Constructors - public CoverArtRepository(string connectionString) - { - _connectionString = connectionString; - } - #endregion - - - #region Methods - public List GetCoverArtRecords() - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - _logger.Info("Querying cover art records"); - - var query = "SELECT cv.*, sng.Id AS SongId FROM CoverArt " + - "cv LEFT JOIN Song sng ON cv.CoverArtId=sng.CoverArtId"; - - using (var cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - return ParseData(reader); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return null; - } - public CoverArt GetCoverArt(CoverArt cover) - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - _logger.Info("Querying cover art record"); - - var query = "SELECT * FROM CoverArt WHERE " + - "CoverArtId=@CoverArtId"; - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters - .AddWithValue("@CoverArtId", cover.CoverArtId); - - using (var reader = cmd.ExecuteReader()) - return ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return null; - } - public CoverArt GetCoverArt(Song song) - { - try - { - using (var conn = GetConnection()) - { - 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"; - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@SongId", song.Id); - - using (var reader = cmd.ExecuteReader()) - return ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return null; - } - public CoverArt GetCoverArt(CoverArtField field, CoverArt cover) - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - _logger.Info("Querying cover art record"); - - using (var cmd = new MySqlCommand(BuildQuery(field), conn)) - { - switch (field) - { - case CoverArtField.SongTitle: - cmd.Parameters.AddWithValue("@SongTitle", - cover.SongTitle); - break; - case CoverArtField.ImagePath: - cmd.Parameters.AddWithValue("@ImagePath", - cover.ImagePath); - break; - } - - using (var reader = cmd.ExecuteReader()) - return ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return null; - } - - public bool DoesCoverArtExist(CoverArt cover) - { - return GetCoverArt(cover) != null ? true : false; - } - public bool DoesCoverArtExist(Song song) - { - return GetCoverArt(song) != null ? true : false; - } - - public void SaveCoverArt(CoverArt coverArt) - { - try - { - using (var conn = GetConnection()) - { - 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)) - { - cmd.Parameters - .AddWithValue("@SongTitle", coverArt.SongTitle); - cmd.Parameters - .AddWithValue("@ImagePath", coverArt.ImagePath); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void DeleteCoverArt(CoverArt cover) - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - _logger.Info("Deleting cover art record"); - - var query = "DELETE FROM CoverArt WHERE " + - "CoverArtId=@CoverArtId"; - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters - .AddWithValue("@CoverArtId", cover.CoverArtId); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - private List ParseData(MySqlDataReader reader) - { - if (reader.HasRows) - { - var coverArtList = new List(); - _logger.Info("Parsing cover art records"); - while (reader.Read()) - coverArtList.Add(new CoverArt - { - CoverArtId = Convert.ToInt32(reader["CoverArtId"]), - SongTitle = reader["SongTitle"].ToString(), - ImagePath = reader["ImagePath"].ToString(), - SongId = Convert.ToInt32(reader["SongId"].ToString()) - }); - - return coverArtList; - } - - return null; - } - - private CoverArt ParseSingleData(MySqlDataReader reader) - { - if (reader.HasRows) - { - _logger.Info("Parsing single cover art record"); - reader.Read(); - - return new CoverArt - { - CoverArtId = Convert.ToInt32(reader["CoverArtId"]), - SongTitle = reader["SongTitle"].ToString(), - ImagePath = reader["ImagePath"].ToString() - }; - } - - return null; - } - - private string BuildQuery(CoverArtField field) - { - switch (field) - { - case CoverArtField.SongTitle: - return "SELECT * FROM CoverArt WHERE SongTitle=@SongTitle"; - case CoverArtField.ImagePath: - return "SELECT * FROM CoverArt WHERE ImagePath=" + - "@ImagePath"; - } - - return null; - } - - private bool? AnyCoverArt() - { - using (var conn = GetConnection()) - { - 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()) - return reader.HasRows; - } - } - #endregion - } -} diff --git a/Database/Repositories/GenreRepository.cs b/Database/Repositories/GenreRepository.cs deleted file mode 100644 index d3e4749..0000000 --- a/Database/Repositories/GenreRepository.cs +++ /dev/null @@ -1,447 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; - -using MySql.Data.MySqlClient; - -using Icarus.Models; - -namespace Icarus.Database.Repositories -{ - public class GenreRepository : BaseRepository - { - #region Fields - #endregion - - - #region Properties - #endregion - - - #region Constructors - public GenreRepository(string connectionString) - { - _connectionString = connectionString; - } - #endregion - - - #region Methods - public List GetGenresWithoutCount() - { - _logger.Info("Retrieving all genre records without song counts"); - - var genres = new List(); - - if (AnyGenre()) - { - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT * FROM Genre"; - - using (var cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - genres = ParseData(reader); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - return genres; - } - public List GetGenres() - { - _logger.Info("Retrieving Genre records"); - - var genres = new List(); - - if (AnyGenre()) - { - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT gnr.*, COUNT(*) AS SongCount FROM Genre " + - "gnr LEFT JOIN Song sng ON gnr.GenreId=sng.GenreId " + - "GROUP BY gnr.GenreId"; - - using (var cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - genres = ParseData(reader); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - return genres; - } - - public Genre GetGenre(Genre genre) - { - _logger.Info("Retrieving Genre record"); - - if (DoesGenreExist(genre)) - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT gnr.*, COUNT(*) AS SongCount FROM Genre " + - "gnr LEFT JOIN Song sng ON gnr.GenreId=sng.GenreId " + - "WHERE gnr.GenreId=@GenreId"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@GenreId", genre.GenreId); - - using (var reader = cmd.ExecuteReader()) - genre = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - return genre; - } - public Genre GetGenre(Song song) - { - _logger.Info("Retrieving Genre record"); - - var genre = new Genre(); - - if (DoesGenreExist(song)) - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT gnr.*, 0 AS SongCount FROM Genre " + - "gnr WHERE gnr.GenreName=@GenreName"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@GenreName", song.Genre); - _logger.Info($"Song genre:\n\n\n {song.Genre}"); - - using (var reader = cmd.ExecuteReader()) - genre = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - return genre; - } - public Genre GetGenre(Song song, bool retrieveCount) - { - _logger.Info("Retrieving Genre record"); - - var genre = new Genre(); - - if (DoesGenreExist(song)) - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = string.Empty; - - if (retrieveCount) - query = "SELECT gnr.*, COUNT(*) AS SongCount FROM Genre gnr " + - "LEFT JOIN Song sng ON gnr.GenreId=sng.GenreId " + - "WHERE gnr.GenreName=@GenreName GROUP BY gnr.GenreId " + - "LIMIT 1"; - else - query = "SELECT gnr.*, 0 AS SongCount FROM Genre gnr " + - "WHERE gnr.GenreName=@GenreName LIMIT 1"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@GenreName", song.Genre); - _logger.Info($"Song genre:\n\n\n {song.Genre}"); - - using (var reader = cmd.ExecuteReader()) - genre = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - return genre; - } - - public bool DoesGenreExist(Genre genre) - { - _logger.Info("Checking to see if Genre record exists"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT gnr.*, 0 AS SongCount FROM Genre gnr WHERE " + - "gnr.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"); - } - - _logger.Info("Genre does not exist"); - - return false; - } - public bool DoesGenreExist(Song song) - { - _logger.Info("Checking to see if Genre record exists"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT gnr.*, 0 AS SongCount FROM Genre gnr WHERE " + - "gnr.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"); - } - - _logger.Info("Genre does not exist"); - - return false; - } - - public void SaveGenre(Genre genre) - { - _logger.Info("Saving Genre record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "INSERT INTO Genre(GenreName) VALUES(@GenreName)"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@GenreName", genre.GenreName); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void UpdateGenre(Genre genre) - { - _logger.Info("Updating Genre record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "UPDATE Genre SET GenreName=@GenreName " + - "WHERE GenreId=@GenreId"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@GenreName", genre.GenreName); - 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) - { - _logger.Info("Deleting Genre record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "DELETE FROM 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 ParseData(MySqlDataReader reader) - { - var genres = new List(); - _logger.Info("Retrieving genre records"); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["GenreId"].ToString()); - var genreName = reader["GenreName"].ToString(); - var songCount = Convert.ToInt32(reader["SongCount"].ToString()); - - genres.Add(new Genre - { - GenreId = id, - GenreName = genreName, - SongCount = songCount - }); - } - - _logger.Info("Genre records retrieved"); - - return genres; - } - - private Genre ParseSingleData(MySqlDataReader reader) - { - var genre = new Genre(); - _logger.Info("Retrieving single genre record"); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["GenreId"].ToString()); - var genreName = reader["GenreName"].ToString(); - var songCount = Convert.ToInt32(reader["SongCount"].ToString()); - genre.GenreId = id; - genre.GenreName = genreName; - genre.SongCount = songCount; - } - - _logger.Info("Single genre record retrieved"); - - return genre; - } - - private bool AnyGenre() - { - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT * FROM Genre"; - - using (var cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - return reader.HasRows; - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - _logger.Info("No genre records found"); - - return false; - } - #endregion - } -} diff --git a/Database/Repositories/SongRepository.cs b/Database/Repositories/SongRepository.cs deleted file mode 100644 index e628b4c..0000000 --- a/Database/Repositories/SongRepository.cs +++ /dev/null @@ -1,324 +0,0 @@ -using System; -using System.Collections.Generic; - -using MySql.Data.MySqlClient; - -using Icarus.Models; - -namespace Icarus.Database.Repositories -{ - public class SongRepository : BaseRepository - { - #region Fields - #endregion - - - #region Properties - #endregion - - - #region Constructors - public SongRepository(string connectionString) - { - _connectionString = connectionString; - } - #endregion - - - #region Methods - public void SaveSong(Song song) - { - try - { - _logger.Info("Saving song to the database"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - string query = "INSERT INTO Song(Title, AlbumTitle, Artist," + - " Year, Genre, Duration, Filename, SongPath, AlbumId, " + - "ArtistId, GenreId, YearId, CoverArtId) VALUES(@Title," + - " @AlbumTitle, @Artist, @Year, @Genre, @Duration, " + - "@Filename, @SongPath, @AlbumId, @ArtistId, @GenreId," + - " @YearId, @CoverArtId)"; - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Title", song.Title); - cmd.Parameters.AddWithValue("@AlbumTitle", song.AlbumTitle); - cmd.Parameters.AddWithValue("@Artist", song.Artist); - cmd.Parameters.AddWithValue("@Year", song.Year); - cmd.Parameters.AddWithValue("@Genre", song.Genre); - cmd.Parameters.AddWithValue("@Duration", song.Duration); - cmd.Parameters.AddWithValue("@Filename", song.Filename); - cmd.Parameters.AddWithValue("@SongPath", song.SongPath); - cmd.Parameters.AddWithValue("@AlbumId", song.AlbumId); - cmd.Parameters.AddWithValue("@ArtistId", song.ArtistId); - cmd.Parameters.AddWithValue("@GenreId", song.GenreId); - cmd.Parameters.AddWithValue("@YearId", song.YearId); - cmd.Parameters.AddWithValue("@CoverArtId", song.CoverArtId); - - cmd.ExecuteNonQuery(); - } - } - _logger.Info("Successfully saved song to the database"); - } - catch(Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error occurred:\n{exMsg}"); - _logger.Error(exMsg, "An error occurred"); - } - } - public void UpdateSong(Song song) - { - try - { - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - - string query = "UPDATE Song SET Title=@Title, AlbumTitle=@AlbumTitle, " + - "Artist=@Artist, Year=@Year, Genre=@Genre, Duration=@Duration, " + - "Filename=@Filename, SongPath=@SongPath, AlbumId=@AlbumId, " + - "ArtistId=@ArtistId, GenreId=@GenreId, YearId=@YearId WHERE Id=@Id"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Title", song.Title); - cmd.Parameters.AddWithValue("@AlbumTitle", song.AlbumTitle); - cmd.Parameters.AddWithValue("@Artist", song.Artist); - cmd.Parameters.AddWithValue("@Year", song.Year); - cmd.Parameters.AddWithValue("@Genre", song.Genre); - cmd.Parameters.AddWithValue("@Duration", song.Duration); - cmd.Parameters.AddWithValue("@Filename", song.Filename); - cmd.Parameters.AddWithValue("@SongPath", song.SongPath); - cmd.Parameters.AddWithValue("@Id", song.Id); - cmd.Parameters.AddWithValue("@AlbumId", song.AlbumId); - cmd.Parameters.AddWithValue("@ArtistId", song.ArtistId); - cmd.Parameters.AddWithValue("@GenreId", song.GenreId); - cmd.Parameters.AddWithValue("@YearId", song.YearId); - - cmd.ExecuteNonQuery(); - } - } - _logger.Info("Updated song"); - } - catch (Exception ex) - { - var msg = ex.Message; - Console.WriteLine("An error occurred in SongRepository:"); - Console.WriteLine(msg); - _logger.Error(msg, "An error occurred"); - } - } - public void DeleteSong(Song song) - { - try - { - _logger.Info("Deleting song record"); - - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "Delete FROM Song WHERE Id=@Id"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Id", song.Id); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void DeleteSong(int id) - { - try - { - _logger.Info("Deleting song record"); - - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - string query = "DELETE FROM Song WHERE Id=@Id"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Id", id); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error occurred:\n{exMsg}"); - _logger.Error(exMsg, "An error occurred"); - } - } - - public List GetAllSongs() - { - List songs = new List(); - - try - { - _logger.Info("Retrieving songs from the database"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "SELECT * FROM Song"; - Console.WriteLine("ffff"); - MySqlCommand cmd = new MySqlCommand(query, conn); - using (var reader = cmd.ExecuteReader()) - songs = ParseData(reader); - } - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error ocurred:\n{exMsg}"); - songs.Clear(); - _logger.Error(exMsg, "An error occurred"); - } - - return songs; - } - - public Song GetSong(Song song) - { - try - { - _logger.Info("Retrieving song from database"); - - using (var conn = GetConnection()) - { - conn.Open(); - var query = "SELECT * FROM Song WHERE Id=@Id"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Id", song.Id); - - using (var reader = cmd.ExecuteReader()) - song = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return song; - } - public Song GetSong(int id) - { - Song song = new Song(); - - try - { - _logger.Info("Retrieving song from database"); - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "SELECT * FROM Song WHERE Id=@Id"; - - MySqlCommand cmd = new MySqlCommand(query, conn); - cmd.Parameters.AddWithValue("@Id", id); - - using (var reader = cmd.ExecuteReader()) - song = ParseSingleData(reader); - } - _logger.Info("Song found"); - } - catch(Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error ocurred: {exMsg}"); - _logger.Error(exMsg, "An error occurred"); - } - - return song; - } - - public bool DoesSongExist(Song song) - { - _logger.Info("Checking to see if the song exists"); - var songInDatabase = GetSong(song); - var title = songInDatabase.Title; - - if (!string.IsNullOrEmpty(title)) - { - _logger.Info("Song exists"); - return true; - } - - _logger.Info("Song does not exists"); - - return false; - } - - private List ParseData(MySqlDataReader reader) - { - - List songs = new List(); - while (reader.Read()) - { - songs.Add(new Song - { - Id = Convert.ToInt32(reader["Id"]), - Title = reader["Title"].ToString(), - AlbumTitle = reader["AlbumTitle"].ToString(), - Artist = reader["Artist"].ToString(), - Year = Convert.ToInt32(reader["Year"]), - Genre = reader["Genre"].ToString(), - Duration = Convert.ToInt32(reader["Duration"]), - Filename = reader["Filename"].ToString(), - SongPath = reader["SongPath"].ToString(), - AlbumId = Convert.ToInt32(reader["AlbumId"].ToString()), - ArtistId = Convert.ToInt32(reader["ArtistId"].ToString()), - GenreId = Convert.ToInt32(reader["GenreId"].ToString()), - YearId = Convert.ToInt32(reader["YearId"].ToString()), - CoverArtId = Convert.ToInt32(reader["CoverArtId"].ToString()) - }); - } - - return songs; - } - - private Song ParseSingleData(MySqlDataReader reader) - { - Song song = new Song(); - - while (reader.Read()) - { - song.Id = Convert.ToInt32(reader["Id"]); - song.Title = reader["Title"].ToString(); - song.AlbumTitle = reader["AlbumTitle"].ToString(); - song.Artist = reader["Artist"].ToString(); - song.Year = Convert.ToInt32(reader["Year"].ToString()); - song.Genre = reader["Genre"].ToString(); - song.Duration = Convert.ToInt32(reader["Duration"]); - song.Filename = reader["Filename"].ToString(); - song.SongPath = reader["SongPath"].ToString(); - song.AlbumId = Convert.ToInt32(reader["AlbumId"].ToString()); - song.ArtistId = Convert.ToInt32(reader["ArtistId"].ToString()); - song.GenreId = Convert.ToInt32(reader["GenreId"].ToString()); - song.YearId = Convert.ToInt32(reader["YearId"].ToString()); - song.CoverArtId = Convert.ToInt32(reader["CoverArtId"].ToString()); - } - - return song; - } - - #endregion - } -} diff --git a/Database/Repositories/UserRepository.cs b/Database/Repositories/UserRepository.cs deleted file mode 100644 index f42bb8b..0000000 --- a/Database/Repositories/UserRepository.cs +++ /dev/null @@ -1,229 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; - -using MySql.Data.MySqlClient; - -using Icarus.Models; - -namespace Icarus.Database.Repositories -{ - public class UserRepository: BaseRepository - { - #region Fields - #endregion - - - #region Properties - #endregion - - - #region Constructor - public UserRepository(string connectionString) - { - _connectionString = connectionString; - } - #endregion - - - #region Methods - public void SaveUser(User user) - { - try - { - _logger.Info("Saving user"); - - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - string query = "INSERT INTO User(Username, Password, Nickname, Email" + - ", Phone, Firstname, Lastname, EmailVerified) " + - "VALUES(@Username, @Password, @Nickname, @Email, @PhoneNumber," + - " @Firstname, @Lastname, @EmailVerified)"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Username", user.Username); - cmd.Parameters.AddWithValue("@Password", user.Password); - cmd.Parameters.AddWithValue("@Nickname", user.Nickname); - cmd.Parameters.AddWithValue("@Email", user.Email); - cmd.Parameters.AddWithValue("@PhoneNumber", user.PhoneNumber); - cmd.Parameters.AddWithValue("@Firstname", user.Firstname); - cmd.Parameters.AddWithValue("@Lastname", user.Lastname); - cmd.Parameters.AddWithValue("@EmailVerified", user.EmailVerified); - - - cmd.ExecuteNonQuery(); - } - } - - _logger.Info("Successfully saved user"); - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error occurred:\n{exMsg}"); - _logger.Error(exMsg, "An error occurred"); - } - } - - public User RetrieveUser(User user) - { - try - { - _logger.Info("Retrieving user"); - - using (MySqlConnection conn = GetConnection()) - { - conn.Open(); - var query = "SELECT * FROM User WHERE Username=@Username"; - - using (MySqlCommand cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Username", user.Username); - - using (var reader = cmd.ExecuteReader()) - user = ParseSingleData(reader); - } - } - - _logger.Info("Successfully retrieved user"); - - return user; - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error occurred:\n{exMsg}"); - _logger.Error(exMsg, "An error occurred"); - } - - return null; - } - - public bool DoesUserExist(User user) - { - var username = user.Username; - try - { - _logger.Info($"Checking to see if {user.Username} exists"); - - using (var conn = GetConnection()) - { - conn.Open(); - var query = "SELECT * FROM User WHERE Username=@Username"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@Username", user.Username); - - using (var reader = cmd.ExecuteReader()) - { - user = ParseSingleData(reader, true); - username = user.Username; - - if (!string.IsNullOrEmpty(username)) - { - _logger.Info($"The user {username} exists"); - - return true; - } - } - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - _logger.Info($"The user {username} does not exists"); - - return false; - } - - private User ParseSingleData(MySqlDataReader reader) - { - var user = new User(); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["Id"].ToString()); - var username = reader["Username"].ToString(); - var password = reader["Password"].ToString(); - var nickname = reader["Nickname"].ToString(); - var email = reader["Email"].ToString(); - var phoneNumber = reader["PhoneNumber"].ToString(); - var emailVerified = reader["EmailVerified"].ToString() == "1"; - var firstname = reader["Firstname"].ToString(); - var lastname = reader["Lastname"].ToString(); - var rawLastLogin = reader["LastLogin"].ToString(); - - var parsedDateCreated = DateTime.Parse(reader["DateCreated"].ToString()); - - var dateCreated = DateTime.Parse(parsedDateCreated.ToString("yyyy-MM-dd HH:mm:ss")); - - if (!string.IsNullOrEmpty(rawLastLogin)) - { - var parsedLastLogin = DateTime.Parse(rawLastLogin); - var lastLogin = DateTime.Parse(parsedLastLogin.ToString("yyyy-MM-dd HH:mm:ss")); - user.LastLogin = lastLogin; - } - - user.Id = id; - user.Username = username; - user.Password = password; - user.Nickname = nickname; - user.Email = email; - user.PhoneNumber = phoneNumber; - user.EmailVerified = emailVerified; - user.Firstname = firstname; - user.Lastname = lastname; - user.DateCreated = dateCreated; - } - - return user; - } - private User ParseSingleData(MySqlDataReader reader, bool ignoreLastLogin) - { - var user = new User(); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["Id"].ToString()); - var username = reader["Username"].ToString(); - var nickname = reader["Nickname"].ToString(); - var email = reader["Email"].ToString(); - var phoneNumber = reader["PhoneNumber"].ToString(); - var emailVerified = reader["EmailVerified"].ToString() == "1"; - var firstname = reader["Firstname"].ToString(); - var lastname = reader["Lastname"].ToString(); - - var parsedDateCreated = DateTime.Parse(reader["DateCreated"].ToString()); - - var dateCreated = DateTime.Parse(parsedDateCreated.ToString("yyyy-MM-dd HH:mm:ss")); - - if (!ignoreLastLogin) - { - var parsedLastLogin = DateTime.Parse(reader["LastLogin"].ToString()); - var lastLogin = DateTime.Parse(parsedLastLogin.ToString("yyyy-MM-dd HH:mm:ss")); - user.LastLogin = lastLogin; - } - - user.Id = id; - user.Username = username; - user.Nickname = nickname; - user.Email = email; - user.PhoneNumber = phoneNumber; - user.EmailVerified = emailVerified; - user.Firstname = firstname; - user.Lastname = lastname; - user.DateCreated = dateCreated; - } - - return user; - } - #endregion - } -} diff --git a/Database/Repositories/YearRepository.cs b/Database/Repositories/YearRepository.cs deleted file mode 100644 index e44cde0..0000000 --- a/Database/Repositories/YearRepository.cs +++ /dev/null @@ -1,367 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; - -using MySql.Data.MySqlClient; - -using Icarus.Models; - -namespace Icarus.Database.Repositories -{ - public class YearRepository : BaseRepository - { - #region Fields - #endregion - - - #region Properties - #endregion - - - #region Constructors - public YearRepository(string connectionString) - { - _connectionString = connectionString; - } - #endregion - - - #region Methods - public List GetSongYears() - { - _logger.Info("Retrieving Year records"); - - var yearValues = new List(); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT yr.*, COUNT(*) AS SongCount FROM Year " + - "yr LEFT JOIN Song sng ON yr.YearId=sng.YearId " + - "GROUP BY yr.YearId"; - - using (var cmd = new MySqlCommand(query, conn)) - using (var reader = cmd.ExecuteReader()) - yearValues = ParseData(reader); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return yearValues; - } - - public Year GetSongYear(Year year) - { - _logger.Info("Retrieving Year record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT yr.*, COUNT(*) AS SongCount FROM Year " + - "yr LEFT JOIN Song sng ON yr.YearId=sng.YearId WHERE " + - "YearId=@YearId GROUP BY yr.YearId"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@YearId", year.YearId); - - using (var reader = cmd.ExecuteReader()) - year = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return year; - } - public Year GetSongYear(Song song) - { - var year = new Year(); - - _logger.Info("Retrieving Year record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT yr.*, 0 AS SongCount FROM Year " + - "yr WHERE yr.YearValue=@YearValue"; - - using(var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@YearValue", song.Year); - - using (var reader = cmd.ExecuteReader()) - year = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return year; - } - public Year GetSongYear(Song song, bool retrieveCount) - { - var year = new Year(); - - _logger.Info("Retrieving year record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = string.Empty; - - if (retrieveCount) - query = "SELECT yr.*, COUNT(*) AS SongCount FROM Year yr " + - "LEFT JOIN Song sng ON yr.YearValue=sng.Year WHERE " + - "yr.YearValue=@YearValue GROUP BY yr.YearId LIMIT 1"; - else - query = "SELECT yr.*, 0 AS SongCount FROM Year yr " + - "WHERE yr.YearValue=@YearValue LIMIT 1"; - - using(var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@YearValue", song.Year); - - using (var reader = cmd.ExecuteReader()) - year = ParseSingleData(reader); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return year; - } - - public bool DoesYearExist(Year year) - { - _logger.Info("Checking to see if Year record exists"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT yr.*, 0 AS SongCount FROM Year yr WHERE " + - "yr.YearId=@YearId"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@YearId", year.YearId); - - using (var reader = cmd.ExecuteReader()) - { - year = ParseSingleData(reader); - - if (year.YearValue > 0) - { - _logger.Info("Year record exists"); - - return true; - } - } - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - _logger.Info("Year record does not exist"); - - return false; - } - public bool DoesYearExist(Song song) - { - _logger.Info("Checking to see if Year record exists"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "SELECT yr.*, 0 AS SongCount FROM Year yr WHERE " + - "yr.YearValue=@YearValue"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@YearValue", song.Year); - - using (var reader = cmd.ExecuteReader()) - { - var year = ParseSingleData(reader); - - if (year.YearValue > 0) - { - _logger.Info("Year record exists"); - - return true; - } - } - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - _logger.Info("Year record does not exist"); - - return false; - } - - public void SaveYear(Year year) - { - _logger.Info("Saving Year record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "INSERT INTO Year(YearValue) VALUES(@YearValue)"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@YearValue", year.YearValue); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void UpdateYear(Year year) - { - _logger.Info("Deleting Year record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "UPDATE Year SET YearValue=@YearValue WHERE YearId=@YearId"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@YearId", year.YearId); - cmd.Parameters.AddWithValue("@YearValue", year.YearValue); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - public void DeleteYear(Year year) - { - _logger.Info("Deleting Year record"); - - try - { - using (var conn = GetConnection()) - { - conn.Open(); - - var query = "DELETE FROM Year WHERE YearId=@YearId"; - - using (var cmd = new MySqlCommand(query, conn)) - { - cmd.Parameters.AddWithValue("@YearId", year.YearId); - - cmd.ExecuteNonQuery(); - } - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - private List ParseData(MySqlDataReader reader) - { - var yearValues = new List(); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["YearId"].ToString()); - var year = Convert.ToInt32(reader["YearValue"].ToString()); - var songCount = Convert.ToInt32(reader["SongCount"].ToString()); - - yearValues.Add(new Year - { - YearId = id, - YearValue = year, - SongCount = songCount - }); - } - - - return yearValues; - } - - private Year ParseSingleData(MySqlDataReader reader) - { - var yearValue = new Year(); - - while (reader.Read()) - { - var id = Convert.ToInt32(reader["YearId"].ToString()); - var year = Convert.ToInt32(reader["YearValue"].ToString()); - var songCount = Convert.ToInt32(reader["SongCount"].ToString()); - - yearValue.YearId = id; - yearValue.YearValue = year; - yearValue.SongCount = songCount; - } - - return yearValue; - } - #endregion - } -}