Chimney.Shared.UserControls.ChimneyServerUserControl.GetGenreId C# (CSharp) Method

GetGenreId() private method

private GetGenreId ( IList genrenames ) : string>>.Task
genrenames IList
return string>>.Task
        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);
        }
ChimneyServerUserControl