private int GetCountResult(WallpaperAbyssQueryResult result)
 {
     if (result.ResponseObject != null)
     {
         if (result.ResponseObject.Success)
         {
             return(result.ResponseObject.Count);
         }
     }
     return(-1);
 }
        /// <summary>
        /// Search the Wallpaper Abyss API
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="uri"></param>
        /// <param name="arguments"></param>
        /// <returns></returns>
        public async Task <WallpaperAbyssQueryResult> SearchAsync <T>(Uri uri, object arguments)
        {
            var queryResult = new WallpaperAbyssQueryResult();

            queryResult.Arguments = arguments;
            queryResult.StartTime = DateTime.Now;
            queryResult.Url       = uri.LocalPath;

            var response = await _apiClient.Get(uri);

            queryResult.Response = response;

            if (response.IsSuccessStatusCode)
            {
                queryResult.RawJson = await response.Content.ReadAsStringAsync();

                queryResult.ResponseObject = JsonConvert.DeserializeObject <WallpaperAbyssGeneralResponse>(queryResult.RawJson);
            }

            queryResult.FinishTime = DateTime.Now;

            return(queryResult);
        }