/// <summary> /// Search for a release in the MusicBrainz database, matching the given query. /// </summary> /// <param name="query">The query string.</param> /// <param name="limit">The maximum number of releases to return (default = 25).</param> /// <param name="offset">The offset to the releases list (enables paging, default = 0).</param> /// <returns></returns> public static async Task <ReleaseList> SearchAsync(string query, int limit = 25, int offset = 0) { if (string.IsNullOrEmpty(query)) { throw new ArgumentException(string.Format(Resources.Messages.MissingParameter, "query")); } string url = WebServiceHelper.CreateSearchTemplate(EntityName, query, limit, offset); return(await WebServiceHelper.GetAsync <ReleaseList>(url)); }
/// <summary> /// Search for a release-group in the MusicBrainz database, matching the given query. /// </summary> /// <param name="query">The query string.</param> /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param> /// <param name="limit">The maximum number of release-groups to return (default = 25).</param> /// <param name="offset">The offset to the release-groups list (enables paging, default = 0).</param> /// <returns></returns> public static async Task <ReleaseGroupList> SearchAsync(string query, int limit = 25, int offset = 0, CancellationToken cancellationToken = default(CancellationToken)) { if (string.IsNullOrEmpty(query)) { throw new ArgumentException(string.Format(Resources.Messages.MissingParameter, "query")); } string url = WebServiceHelper.CreateSearchTemplate(EntityName, query, limit, offset); return(await WebServiceHelper.GetAsync <ReleaseGroupList>(url, cancellationToken).ConfigureAwait(false)); }