async Task<Tuple<int, string>> GetGenreId(IList<string> genrenames)
{
object[] genrestrings = new object[genrenames.Count];
if (genrenames.Count > 0)
{
for (int i = 0; i < genrenames.Count; i++)
{
genrestrings[i] = genrenames[i];
}
}
else genrestrings = new object[] { string.Empty };
int GenreId = -1;
string genrename = string.Empty;
while (GenreId < 0)
{
var genres = await Dbconnection.QueryAsync<Genre>("SELECT * FROM Genres WHERE Name = ?", genrestrings);
if (genres.Count > 0)
{
GenreId = genres.First<Genre>().GenreId;
genrename = genres.First<Genre>().Name;
}
else
{
List<Genre> newGenres = new List<Genre>();
foreach (string newgenrename in genrestrings)
{
Genre newGenre = new Genre()
{
Name = newgenrename
};
newGenres.Add(newGenre);
}
await Dbconnection.InsertAllAsync(newGenres);
}
}
return new Tuple<int,string> (GenreId, genrename);
}