private async Task <uint> GetVnId()
        {
            using (var context = new DatabaseContext())
            {
                uint data = 0;
                data = context.VnInfo.Where(v => v.Title == SelectedItem).Select(x => x.VnId).FirstOrDefault();
                if (data != 0)
                {
                    return(data);
                }
                if (data == 0)
                {
                    data = context.VnIdList.Where(v => v.Title == SelectedItem).Select(x => x.VnId)
                           .FirstOrDefault();
                    return(data);
                }
                if (data == 0)
                {
                    Vndb client   = new Vndb(true);
                    var  response = await client.GetVisualNovelAsync(VndbFilters.Title.Equals(SelectedItem));

                    if (response == null)
                    {
                        HandleError.HandleErrors(client.GetLastError(), 0);
                    }
                    else
                    {
                        VisualNovel firstOrDefault = response?.Items.FirstOrDefault();
                        if (firstOrDefault != null)
                        {
                            data = firstOrDefault.Id;
                        }
                        client.Logout();
                        client.Dispose();
                        return(data);
                    }
                }
                return(0);
            }
        }