Пример #1
0
        public Task <SoundCloudList <Playlist> > GetAllAsync(PlaylistQueryBuilder builder)
        {
            builder.Path  = PlaylistsPath;
            builder.Paged = true;

            return(GetPage <Playlist>(builder.BuildUri()));
        }
        public void Test_SearchString()
        {
            var builder = new PlaylistQueryBuilder("SearchString");

            var query = builder.BuildUri();

            Assert.That(query.ToString(), Is.EqualTo("https://api.soundcloud.com/?q=SearchString"));
        }
Пример #3
0
        public async Task <Playlist> GetAsync(long playlistId)
        {
            var builder = new PlaylistQueryBuilder {
                Path = string.Format(PlaylistPath, playlistId)
            };

            return(await Gateway.SendGetRequestAsync <Playlist>(builder.BuildUri()));
        }
Пример #4
0
        public async Task <IEnumerable <Playlist> > GetAsync(PlaylistQueryBuilder queryBuilder)
        {
            EnsureClientId();

            queryBuilder.Path  = PlaylistsPath;
            queryBuilder.Paged = true;

            return(await GetListAsync <Playlist>(queryBuilder.BuildUri()));
        }
Пример #5
0
        public IEnumerable <Playlist> Get(PlaylistQueryBuilder queryBuilder)
        {
            EnsureClientId();

            queryBuilder.Path  = PlaylistsPath;
            queryBuilder.Paged = true;

            return(GetList <Playlist>(queryBuilder.BuildUri()));
        }
        public void Test_Paged_Empty_SearchString()
        {
            var builder = new PlaylistQueryBuilder("SearchString");

            builder.Paged        = true;
            builder.SearchString = string.Empty;

            Assert.Throws <ArgumentException>(() => builder.BuildUri());
        }
Пример #7
0
        public async Task <Playlist> UpdateAsync(Playlist playlist)
        {
            playlist.ValidateGet();

            var builder = new PlaylistQueryBuilder {
                Path = string.Format(PlaylistPath, playlist.Id)
            };

            return(await Gateway.SendPutRequestAsync <Playlist>(builder.BuildUri(), playlist));
        }
Пример #8
0
        public async Task <Playlist> GetAsync(int playlistId)
        {
            EnsureClientId();

            var builder = new PlaylistQueryBuilder();

            builder.Path = string.Format(PlaylistPath, playlistId);

            return(await GetByIdAsync <Playlist>(builder.BuildUri()));
        }
Пример #9
0
        public async Task <SecretToken> GetSecretTokenAsync(Playlist playlist)
        {
            playlist.ValidateGet();

            var builder = new PlaylistQueryBuilder {
                Path = string.Format(PlaylistSecretTokenPath, playlist.Id)
            };

            return(await Gateway.SendGetRequestAsync <SecretToken>(builder.BuildUri()));
        }
Пример #10
0
        public async Task <StatusResponse> DeleteAsync(Playlist playlist)
        {
            playlist.ValidateDelete();

            var builder = new PlaylistQueryBuilder {
                Path = string.Format(PlaylistPath, playlist.Id)
            };

            return(await Gateway.SendDeleteRequestAsync <StatusResponse>(builder.BuildUri()));
        }
        public void Test_RepresentationMode()
        {
            var builder = new PlaylistQueryBuilder {
                Representation = RepresentationMode.Compact
            };

            var query = builder.BuildUri();

            Assert.That(query.ToString(), Is.EqualTo("https://api.soundcloud.com/?representation=compact"));
        }
        public void Test_Paged()
        {
            var builder = new PlaylistQueryBuilder {
                SearchString = "SearchString", Paged = true
            };

            var query = builder.BuildUri();

            Assert.That(query.ToString(), Is.EqualTo("https://api.soundcloud.com/?limit=50&q=SearchString&linked_partitioning=1"));
        }
Пример #13
0
        public Playlist Get(int playlistId)
        {
            EnsureClientId();

            var builder = new PlaylistQueryBuilder();

            builder.Path = string.Format(PlaylistPath, playlistId);

            return(GetById <Playlist>(builder.BuildUri()));
        }
Пример #14
0
        public async Task <Playlist> PostAsync(Playlist playlist)
        {
            playlist.ValidatePost();

            var builder = new PlaylistQueryBuilder {
                Path = PlaylistsPath
            };

            return(await Gateway.SendPostRequestAsync <Playlist>(builder.BuildUri(), playlist));
        }
Пример #15
0
        public async Task <IWebResult <Playlist> > PostAsync(Playlist playlist)
        {
            EnsureToken();
            Validate(playlist.ValidatePost);

            var builder = new PlaylistQueryBuilder();

            builder.Path = PlaylistsPath;

            return(await CreateAsync <Playlist>(builder.BuildUri(), playlist));
        }
Пример #16
0
        public async Task <IWebResult> DeleteAsync(Playlist playlist)
        {
            EnsureToken();
            Validate(playlist.ValidateDelete);

            var builder = new PlaylistQueryBuilder();

            builder.Path = string.Format(PlaylistPath, playlist.id);

            return(await DeleteAsync(builder.BuildUri()));
        }
Пример #17
0
        public async Task <IWebResult <Playlist> > UpdateAsync(Playlist playlist)
        {
            EnsureToken();
            Validate(playlist.ValidateGet);

            var builder = new PlaylistQueryBuilder();

            builder.Path = string.Format(PlaylistPath, playlist.id);

            return(await UpdateAsync <Playlist>(builder.BuildUri(), playlist));
        }
Пример #18
0
        public async Task <SecretToken> GetSecretTokenAsync(Playlist playlist)
        {
            EnsureToken();
            Validate(playlist.ValidateGet);

            var builder = new PlaylistQueryBuilder();

            builder.Path = string.Format(PlaylistSecretTokenPath, playlist.id);

            return(await GetByIdAsync <SecretToken>(builder.BuildUri()));
        }
Пример #19
0
        public IWebResult <Playlist> Post(Playlist playlist)
        {
            EnsureToken();
            Validate(playlist.ValidatePost);

            var builder = new PlaylistQueryBuilder();

            builder.Path = PlaylistsPath;

            return(Create <Playlist>(builder.BuildUri(), playlist));
        }
Пример #20
0
        public SecretToken GetSecretToken(Playlist playlist)
        {
            EnsureToken();
            Validate(playlist.ValidateGet);

            var builder = new PlaylistQueryBuilder();

            builder.Path = string.Format(PlaylistSecretTokenPath, playlist.id);

            return(GetById <SecretToken>(builder.BuildUri()));
        }
Пример #21
0
        public async Task <Playlist> UploadArtworkAsync(Playlist playlist, Stream file)
        {
            playlist.ValidateUploadArtwork();

            var parameters = new Dictionary <string, object> {
                { PlaylistArtworkDataKey, file }
            };
            var builder = new PlaylistQueryBuilder {
                Path = string.Format(PlaylistPath, playlist.Id)
            };

            return(await Gateway.SendPutRequestAsync <Playlist>(builder.BuildUri(), parameters));
        }
Пример #22
0
        public async Task <IWebResult <Playlist> > UploadArtworkAsync(Playlist playlist, Stream file)
        {
            EnsureToken();
            Validate(playlist.ValidateUploadArtwork);

            var parameters = new Dictionary <string, object>();

            parameters.Add(PlaylistArtworkDataKey, file);

            var builder = new PlaylistQueryBuilder();

            builder.Path = string.Format(PlaylistPath, playlist.id);

            return(await UpdateAsync <Playlist>(builder.BuildUri(), parameters));
        }