using MySql.Data.MySqlClient; using PetaPoco.Business; using Sony.Filtr.Database; using Sony.Filtr.Spotify.Artists.Data; using Sony.Filtr.Utility.Extensions; using System.Collections.Generic; using System.Threading.Tasks; namespace Sony.Filtr.Spotify.Artists { public class SpotifyArtistManager { public List GetArtists() { return PetaPocoRepository.ReadOnlyInstance.Fetch(); } public async Task> GetArtistIdsWithMinimumFollowerCountAsync(int followersThreshold) { var artistIds = new List(); const string sql = "SELECT ArtistId FROM tblSpotifyArtistFollowers WHERE Followers >= @followersThreshold;"; using (var conn = await DatabaseHandler.GetOpenReadOnlyConnectionAsync()) using (var cmd = new MySqlCommand(sql, conn)) { cmd.Parameters.AddWithValue("@followersThreshold", followersThreshold); using (var reader = await cmd.ExecuteReaderAsync()) { while (await reader.ReadAsync()) { artistIds.Add(reader.GetString("ArtistId")); } } } return artistIds; } } }