public ITracksSearcher BeginSearch(SCFilter filter, bool useNewApi = true) { Func <Dictionary <string, object>, SCTrack[]> search; if (useNewApi) { search = parameters => { var tracks = soundCloudRawClient.Request <TrackCollection>(searchPrefix, searchCommand, HttpMethod.Get, parameters, responseType: string.Empty, domain: Internal.Client.Helpers.Domain.ApiV2); return(tracks.Tracks.Select(trackConverter.Convert).ToArray()); }; } else { search = parameters => { var tracks = soundCloudRawClient.Request <Track[]>(prefix, string.Empty, HttpMethod.Get, parameters); return(tracks.Select(trackConverter.Convert).ToArray()); }; } return(new TracksSearcher(filter, useNewApi, paginationValidator, search)); }
public ITracksSearcher BeginSearch(SCFilter filter, SCApiVersion version) { var internalTracksSearch = searchParametersBuilder.BuildGetter(version, soundCloudRawClient); Func <Dictionary <string, object>, SCTrack[]> publicTracksSearch = parameters => internalTracksSearch(parameters).Select(trackConverter.Convert).ToArray(); return(new TracksSearcher(filter, paginationValidator, publicTracksSearch)); }
public ITracksSearcher BeginSearch(SCFilter filter) { return new TracksSearcher(filter, paginationValidator, parameters => { var tracks = soundCloudRawClient.Request<Track[]>(prefix, string.Empty, HttpMethod.Get, parameters); return tracks.Select(trackConverter.Convert).ToArray(); }); }
public ITracksSearcher BeginSearch(SCFilter filter) { return(new TracksSearcher(filter, paginationValidator, parameters => { var tracks = soundCloudRawClient.Request <Track[]>(prefix, string.Empty, HttpMethod.Get, parameters); return tracks.Select(trackConverter.Convert).ToArray(); })); }
internal TracksSearcher(SCFilter filter, IPaginationValidator paginationValidator, Func<Dictionary<string, object>, SCTrack[]> search) { if (filter == SCFilter.Private) { throw new ArgumentException("Can't search private tracks", "filter"); } this.filter = filter; this.paginationValidator = paginationValidator; this.search = search; searchParameters = new Dictionary<string, object> (); Reset(); }
internal TracksSearcher(SCFilter filter, IPaginationValidator paginationValidator, Func <Dictionary <string, object>, SCTrack[]> search) { if (filter == SCFilter.Private) { throw new ArgumentException("Can't search private tracks", "filter"); } this.filter = filter; this.paginationValidator = paginationValidator; this.search = search; searchParameters = new Dictionary <string, object> (); Reset(); }
public ITracksSearcher BeginSearch(SCFilter filter, bool useNewApi = true) { Func<Dictionary<string, object>, SCTrack[]> search; if (useNewApi) { search = parameters => { var tracks = soundCloudRawClient.Request<TrackCollection>(searchPrefix, searchCommand, HttpMethod.Get, parameters, responseType: string.Empty, domain: Internal.Client.Helpers.Domain.ApiV2); return tracks.Tracks.Select(trackConverter.Convert).ToArray(); }; } else { search = parameters => { var tracks = soundCloudRawClient.Request<Track[]>(prefix, string.Empty, HttpMethod.Get, parameters); return tracks.Select(trackConverter.Convert).ToArray(); }; } return new TracksSearcher(filter, useNewApi, paginationValidator, search); }
public void TestSearchByFilter(SCFilter filter) { TestCollection((o, c) => tracksApi.BeginSearch(filter, false).Exec(SCOrder.CreatedAt, o, c), 0, 50); }
public void TestSearchByFilter(SCFilter filter) { TestCollection((o,c) =>tracksApi.BeginSearch(filter, false).Exec(SCOrder.CreatedAt, o, c), 0 ,50); }