/// <summary> /// Execute the Deezer Search Query /// </summary> /// <param name="query">Prepared StandardTitel Object</param> /// <returns></returns> protected async Task <List <StandardTitle> > ExecuteQuery(StandardTitle query) { try { /* * Deezer Private API * * DeezerAPI.Private api = new DeezerAPI.Private(); * if (query.isRemix) * { * return await api.SearchQuery(query.username + " " + query.title + " " + query.labelname); * } * return await api.SearchQuery(query.username + " " + query.title); */ // Deezer Public API DeezerAPI.Official api = new DeezerAPI.Official(query); ResultSearch.Search res = await api.Search(); log.Info("Found " + res.Data.Count + " Tracks"); if (res.Data.Count > 0) { List <StandardTitle> tracks = new List <StandardTitle>(); Prepare p = new Prepare(); foreach (var i in res.Data) { tracks.Add(await p.PrepareDeezerQuery(new StandardTitle { description = string.Empty, duration = (int)i.Duration, genre = string.Empty, id = i.Id.Value, labelname = string.Empty, search_stage = 0, title = i.Title, username = i.Artist.Name, artist = i.Artist.Name, url = i.Link.AbsoluteUri })); } return(tracks); } return(new List <StandardTitle>()); } catch (Exception e) { log.Warning("Search Query Exception: " + e.Message, e); return(new List <StandardTitle>()); } }