Ejemplo n.º 1
0
        /// <summary>
        ///     Возвращает расширенную информацию о друзьях пользователя
        /// </summary>
        /// <param name="fields">Cписок дополнительных полей, которые необходимо вернуть</param>
        /// <param name="userId">
        ///     Идентификатор пользователя, для которого необходимо получить список друзей. Если параметр не
        ///     задан, то считается, что он равен идентификатору текущего пользователя
        /// </param>
        /// <param name="order">Порядок, в котором нужно вернуть список друзей</param>
        /// <param name="listId">Идентификатор списка друзей, друзей из которого необходимо получить</param>
        /// <param name="count">Количество друзей, которое нужно вернуть</param>
        /// <param name="offset">Смещение, необходимое для выборки определенного подмножества друзей</param>
        /// <param name="nameCase">Падеж для склонения имени и фамилии пользователя</param>
        /// <param name="token">Токен для отмены выполнения запроса</param>
        /// <returns>Список друзей</returns>
        public static async Task <VKList <VKFriend> > GetExtendedAsync(
            IEnumerable <FieldsEnum> fields,
            Int64?userId            = null,
            OrderEnum?order         = null,
            Int64?listId            = null,
            Int32?count             = null,
            Int32?offset            = null,
            NameCaseEnum?nameCase   = null,
            CancellationToken?token = null
            )
        {
            VKParams param    = parseParamsForGet(fields, userId, order, listId, count, offset, nameCase);
            string   response = await VKSession.Instance.DoRequestAsync("friends.get", param);

            JObject obj = JObject.Parse(response);

            if (obj["response"] == null)
            {
                return(null);
            }
            var objArr = await JsonConvert.DeserializeObjectAsync <VKList <VKFriend> >(obj["response"].ToString());

            if (token.HasValue)
            {
                token.Value.ThrowIfCancellationRequested();
            }

            return(objArr);
        }
Ejemplo n.º 2
0
        private VKParams GetSearchParams(
            String query,
            Boolean autoComplete,
            Boolean lyrics,
            Boolean performerOnly,
            VKSearchSortEnum sort,
            Boolean searchOwn,
            Int32 offset,
            Int32?count)
        {
            VKParams param = new VKParams();

            param.Add("q", query);
            param.Add("auto_complete", autoComplete.ToVKValue());
            param.Add("lyrics", lyrics.ToVKValue());
            param.Add("performer_only", performerOnly.ToVKValue());
            param.Add("sort", EnumString.GetStringValue(sort));
            param.Add("search_own", searchOwn.ToVKValue());
            param.Add("offset", offset);
            if (count.HasValue)
            {
                param.Add("count", count);
            }

            return(param);
        }
Ejemplo n.º 3
0
        private static VKParams parseGetParam(
            Int64?ownerId,
            String domain,
            Int32?offset,
            Int32?count,
            FilterEnum?filter,
            Boolean extended
            )
        {
            VKParams param = new VKParams();

            if (ownerId.HasValue)
            {
                param.Add("owner_id", ownerId.Value);
            }
            if (!String.IsNullOrWhiteSpace(domain))
            {
                param.Add("domain", domain);
            }
            if (offset.HasValue)
            {
                param.Add("offset", offset.Value);
            }
            if (count.HasValue)
            {
                param.Add("count", count.Value);
            }
            if (filter.HasValue)
            {
                param.Add("filter", filter.Value);
            }
            param.Add("extended", extended ? "1" : "0");

            return(param);
        }
Ejemplo n.º 4
0
        private VKParams GetRecommendationsParams(
            Int64 targetAudioId,
            Int64 targetAudioOwnerId,
            Int64?userId,
            Int64?offset,
            Int64?count,
            Boolean?shuffle
            )
        {
            VKParams param = new VKParams();

            param.Add("target_audio", String.Format("{0}_{1}", targetAudioOwnerId, targetAudioId));
            if (userId.HasValue)
            {
                param.Add("user_id", userId.Value);
            }
            if (offset.HasValue)
            {
                param.Add("offset", offset.Value);
            }
            if (count.HasValue)
            {
                param.Add("count", count.Value);
            }
            if (shuffle.HasValue)
            {
                param.Add("shuffle", shuffle.Value.ToVKValue());
            }

            return(param);
        }
Ejemplo n.º 5
0
        private static VKParams parseGetParam(
            Int64 userId,
            Boolean extended,
            IEnumerable <Filter> filter,
            IEnumerable <Fields> fields,
            Int32?offset,
            Int32?count
            )
        {
            VKParams param = new VKParams();

            param.Add("user_id", userId);
            param.Add("extended", extended ? "1" : "0");
            if (filter != null)
            {
                param.Add("filter", String.Join(",", filter));
            }
            if (fields != null)
            {
                param.Add("fields", String.Join(",", fields));
            }
            if (offset.HasValue)
            {
                param.Add("offset", offset.Value.ToString());
            }
            if (count.HasValue)
            {
                param.Add("count", count.Value.ToString());
            }

            return(param);
        }
Ejemplo n.º 6
0
        private VKParams GetForGetParams(
            Int64?ownerId,
            Int64?albumId,
            IEnumerable <Int64> audioIds,
            Boolean?needUser,
            Int32 offset,
            Int32?count)
        {
            VKParams param = new VKParams();

            if (ownerId.HasValue)
            {
                param.Add("owner_id", ownerId.Value);
            }
            if (albumId.HasValue)
            {
                param.Add("album_id", albumId.Value);
            }
            if (audioIds != null)
            {
                param.Add("audio_ids", String.Join(",", audioIds));
            }
            if (needUser.HasValue)
            {
                param.Add("need_user", (needUser.Value ? "1" : "0"));
            }
            param.Add("offset", offset);
            if (count.HasValue)
            {
                param.Add("count", count.Value);
            }

            return(param);
        }
Ejemplo n.º 7
0
        public VKAudio Restore(
            Int64 audioId,
            Int64?ownerId = null)
        {
            VKParams param = GetRestoreParams(audioId, ownerId);

            return(base.Execute <VKAudio>(RestoreMethod, param));
        }
Ejemplo n.º 8
0
        /// <summary>
        ///     Возвращает количество аудиозаписей пользователя или сообщества.
        ///     <remarks>Идентификатор сообщества в параметре <paramref name="ownerId" /> необходимо указывать со знаком "-"</remarks>
        /// </summary>
        /// <param name="ownerId">Идентификатор владельца аудиозаписей (пользователь или сообщество)</param>
        /// <param name="token">Токен для отмены выполнения запроса</param>
        /// <returns>Количество аудиозаписей</returns>
        public async Task <Int32> GetCountAsync(Int64 ownerId, CancellationToken?token = null)
        {
            VKParams param = new VKParams();

            param.Add("owner_id", ownerId);

            return(await base.ExecuteAsync <Int32>(GetCountMethod, param, token));
        }
Ejemplo n.º 9
0
        public Boolean Delete(
            Int64 audioId,
            Int64 ownerId)
        {
            VKParams param = GetDeleteParams(audioId, ownerId);

            return(base.Execute <Int32>(DeleteMethod, param) == 1);
        }
Ejemplo n.º 10
0
        /// <summary>
        ///     Возвращает текст аудиозаписи
        /// </summary>
        /// <param name="lyricsId">
        ///     Идентификатор текста аудиозаписи, информацию о котором необходимо вернуть,
        ///     <para> может быть получен с помощью методов Get, GetById или Search</para>
        /// </param>
        /// <param name="token">Токен для отмены выполнения запроса</param>
        /// <returns>Текст аудиозаписи</returns>
        public async Task <VKLyrics> GetLyricsAsync(Int64 lyricsId, CancellationToken?token = null)
        {
            VKParams param = new VKParams();

            param.Add("lyrics_id", lyricsId);

            return(await base.ExecuteAsync <VKLyrics>(GetLyricsMethod, param, token));
        }
Ejemplo n.º 11
0
        /// <summary>
        ///     Возвращает количество аудиозаписей пользователя или сообщества.
        ///     <remarks>Идентификатор сообщества в параметре <paramref name="ownerId" /> необходимо указывать со знаком "-"</remarks>
        /// </summary>
        /// <param name="ownerId">Идентификатор владельца аудиозаписей (пользователь или сообщество).</param>
        /// <returns>Количество аудиозаписей</returns>
        public Int32 GetCount(Int64 ownerId)
        {
            VKParams param = new VKParams();

            param.Add("owner_id", ownerId);

            return(base.Execute <Int32>(GetCountMethod, param));
        }
Ejemplo n.º 12
0
        /// <summary>
        ///     Возвращает текст аудиозаписи
        /// </summary>
        /// <param name="lyricsId">
        ///     Идентификатор текста аудиозаписи, информацию о котором необходимо вернуть,
        ///     <para> может быть получен с помощью методов Get, GetById или Search</para>
        /// </param>
        /// <returns>Текст аудиозаписи</returns>
        public VKLyrics GetLyrics(Int64 lyricsId)
        {
            VKParams param = new VKParams();

            param.Add("lyrics_id", lyricsId);

            return(base.Execute <VKLyrics>(GetLyricsMethod, param));
        }
Ejemplo n.º 13
0
        private VKParams GetDeleteParams(Int64 audioId, Int64 ownerId)
        {
            VKParams param = new VKParams();

            param.Add("audio_id", audioId);
            param.Add("owner_id", ownerId);

            return(param);
        }
Ejemplo n.º 14
0
        public VKList <VKAlbum> GetAlbums(
            Int64?ownerId = null,
            Int32?offset  = null,
            Int32?count   = null)
        {
            VKParams param = GetForGetAlbumsParams(ownerId, offset, count);

            return(base.Execute <VKList <VKAlbum> >(GetAlbumsMethod, param));
        }
        private VKParams GetBroadcastParams(VKBroadcastFilterEnum filter, Boolean getOnlyActive)
        {
            VKParams param = new VKParams();

            param.Add("active", getOnlyActive.ToVKValue());
            param.Add("filter", EnumString.GetStringValue(filter));

            return(param);
        }
Ejemplo n.º 16
0
        public Int64 Add(
            Int64 audioId,
            Int64 ownerId,
            Int64?groupId = null)
        {
            VKParams param = GetAddParams(audioId, ownerId, groupId);

            return(base.Execute <Int64>(AddMethod, param));
        }
Ejemplo n.º 17
0
        public async Task <Boolean> DeleteAsync(
            Int64 audioId,
            Int64 ownerId,
            CancellationToken?token = null)
        {
            VKParams param = GetDeleteParams(audioId, ownerId);

            return(await base.ExecuteAsync <Int32>(DeleteMethod, param, token) == 1);
        }
Ejemplo n.º 18
0
        public async Task <VKAudio> RestoreAsync(
            Int64 audioId,
            Int64?ownerId           = null,
            CancellationToken?token = null)
        {
            VKParams param = GetRestoreParams(audioId, ownerId);

            return(await base.ExecuteAsync <VKAudio>(RestoreMethod, param, token));
        }
        public VKList <VKBroadcast> GetBroadcastList(
            VKBroadcastFilterEnum filter = VKBroadcastFilterEnum.All,
            Boolean getOnlyActive        = false
            )
        {
            VKParams param = GetBroadcastParams(filter, getOnlyActive);
            var      list  = base.Execute <IEnumerable <VKBroadcast> >(GetBroadcastListMethod, param);

            return(new VKList <VKBroadcast>(list));
        }
Ejemplo n.º 20
0
        public VKList <VKAudio> GetPopular(
            VKGenreEnum genre,
            Boolean?onlyEng = null,
            Int32?offset    = null,
            Int32?count     = null)
        {
            VKParams param = GetPopularParams(genre, onlyEng, offset, count);

            return(new VKList <VKAudio>(base.Execute <IEnumerable <VKAudio> >(GetPopularMethod, param)));
        }
Ejemplo n.º 21
0
        public Boolean Reorder(
            Int64 audioId,
            Int64?ownerId = null,
            Int64?before  = null,
            Int64?after   = null)
        {
            VKParams param = GetReorderParams(audioId, ownerId, before, after);

            return(base.Execute <Int32>(ReorderMethod, param) == 1);
        }
Ejemplo n.º 22
0
        public async Task <VKList <VKAlbum> > GetAlbumsAsync(
            Int64?ownerId           = null,
            Int32?offset            = null,
            Int32?count             = null,
            CancellationToken?token = null)
        {
            VKParams param = GetForGetAlbumsParams(ownerId, offset, count);

            return(await base.ExecuteAsync <VKList <VKAlbum> >(GetAlbumsMethod, param, token));
        }
Ejemplo n.º 23
0
        public async Task <Int64> AddAsync(
            Int64 audioId,
            Int64 ownerId,
            Int64?groupId           = null,
            CancellationToken?token = null)
        {
            VKParams param = GetAddParams(audioId, ownerId, groupId);

            return(await base.ExecuteAsync <Int64>(AddMethod, param, token));
        }
Ejemplo n.º 24
0
        /// <summary>
        ///     Возвращает информацию об аудиозаписях.
        /// </summary>
        /// <param name="ownerId">Идентификатор владельца аудиозаписи</param>
        /// <param name="audios">Идентификаторы аудиозаписей</param>
        /// <returns>Список объектов VKAudio</returns>
        public VKList <VKAudio> GetById(Int64 ownerId, IEnumerable <Int64> audios)
        {
            VKParams param = new VKParams
            {
                { "audios", String.Join(",", audios.Select(x => ownerId + "_" + x.ToString())) }
            };

            var list = base.Execute <IEnumerable <VKAudio> >(GetByIdMethod, param);

            return(new VKList <VKAudio>(list));
        }
        public async Task <VKList <VKBroadcast> > GetBroadcastListAsync(
            VKBroadcastFilterEnum filter = VKBroadcastFilterEnum.All,
            Boolean getOnlyActive        = false,
            CancellationToken?token      = null
            )
        {
            VKParams param = GetBroadcastParams(filter, getOnlyActive);
            var      list  = await base.ExecuteAsync <IEnumerable <VKBroadcast> >(GetBroadcastListMethod, param, token);

            return(new VKList <VKBroadcast>(list));
        }
Ejemplo n.º 26
0
        public async Task <Boolean> ReorderAsync(
            Int64 audioId,
            Int64?ownerId           = null,
            Int64?before            = null,
            Int64?after             = null,
            CancellationToken?token = null)
        {
            VKParams param = GetReorderParams(audioId, ownerId, before, after);

            return(await base.ExecuteAsync <Int32>(ReorderMethod, param, token) == 1);
        }
Ejemplo n.º 27
0
        public VKList <Int32> SetBroadcast(
            IEnumerable <Int32> ids,
            Int32?ownerId = null,
            Int32?audioId = null)
        {
            VKParams param = GetSetBroadcastParams(ownerId, audioId, ids);

            var list = base.Execute <IEnumerable <Int32> >(SetBroadcastMethod, param);

            return(new VKList <int>(list));
        }
Ejemplo n.º 28
0
        public async Task <VKList <Int32> > SetBroadcastAsync(
            IEnumerable <Int32> ids,
            Int32?ownerId           = null,
            Int32?audioId           = null,
            CancellationToken?token = null)
        {
            VKParams param = GetSetBroadcastParams(ownerId, audioId, ids);

            var list = await base.ExecuteAsync <IEnumerable <Int32> >(SetBroadcastMethod, param, token);

            return(new VKList <int>(list));
        }
Ejemplo n.º 29
0
        /// <summary>
        ///     Возвращает информацию об аудиозаписях.
        /// </summary>
        /// <param name="ownerId">Идентификатор владельца аудиозаписи</param>
        /// <param name="audios">Идентификаторы аудиозаписей</param>
        /// <param name="token">Токен для отмены выполнения запроса</param>
        /// <returns>Список объектов VKAudio</returns>
        public async Task <VKList <VKAudio> > GetByIdAsync(Int64 ownerId, IEnumerable <Int64> audios,
                                                           CancellationToken?token = null)
        {
            VKParams param = new VKParams
            {
                { "audios", String.Join(",", audios.Select(x => ownerId + "_" + x.ToString())) }
            };

            var list = await base.ExecuteAsync <IEnumerable <VKAudio> >(GetByIdMethod, param, token);

            return(new VKList <VKAudio>(list));
        }
Ejemplo n.º 30
0
        private VKParams GetRestoreParams(Int64 audioId, Int64?ownerId)
        {
            VKParams param = new VKParams();

            param.Add("audio_id", audioId);
            if (ownerId.HasValue)
            {
                param.Add("owner_id", ownerId.Value);
            }

            return(param);
        }