示例#1
0
        /// <summary>
        /// Возвращает информацию о полученных или отправленных заявках на добавление в друзья для текущего пользователя.
        /// </summary>
        /// <param name="params">Входные параметры выборки.</param>
        /// <returns>
        /// Если не установлен параметр need_mutual, то в случае успеха возвращает отсортированный в антихронологическом порядке по времени подачи заявки список идентификаторов (id) пользователей (кому или от кого пришла заявка).
        /// Если установлен параметр need_mutual, то в случае успеха возвращает отсортированный в антихронологическом порядке по времени подачи заявки массив объектов, содержащих информацию о заявках на добавление в друзья.
        /// Каждый из объектов содержит поле uid, являющийся идентификатором пользователя.
        /// При наличии общих друзей, в объекте будет содержаться поле mutual, в котором будет находиться список идентификаторов общих друзей.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/friends.getRequests
        /// </remarks>
        public VkCollection <FriendsGetRequestsResult> GetRequestsExtended(FriendsGetRequestsParams @params)
        {
            @params.Extended = true;

            var response = _vk.Call("friends.getRequests", @params);

            return(response.ToVkCollectionOf <FriendsGetRequestsResult>(x => x));
        }
示例#2
0
        /// <summary>
        /// Возвращает информацию о полученных или отправленных заявках на добавление в друзья для текущего пользователя.
        /// </summary>
        /// <param name="params">Входные параметры выборки.</param>
        /// <returns>
        /// Если не установлен параметр need_mutual, то в случае успеха возвращает отсортированный в антихронологическом порядке по времени подачи заявки список идентификаторов (id) пользователей (кому или от кого пришла заявка).
        /// Если установлен параметр need_mutual, то в случае успеха возвращает отсортированный в антихронологическом порядке по времени подачи заявки массив объектов, содержащих информацию о заявках на добавление в друзья.
        /// Каждый из объектов содержит поле uid, являющийся идентификатором пользователя.
        /// При наличии общих друзей, в объекте будет содержаться поле mutual, в котором будет находиться список идентификаторов общих друзей.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/friends.getRequests
        /// </remarks>
        public VkCollection <long> GetRequests(FriendsGetRequestsParams @params)
        {
            var response = _vk.Call("friends.getRequests", @params);

            if (@params.Extended.HasValue && @params.Extended.Value)
            {
                return(response.ToVkCollectionOf <long>(x => x["user_id"]));
            }

            return(response.ToVkCollectionOf <long>(x => x));
        }
示例#3
0
        /// <summary>
        /// Возвращает информацию о полученных или отправленных заявках на добавление в
        /// друзья для текущего пользователя.
        /// </summary>
        /// <param name="params"> Входные параметры выборки. </param>
        /// <returns>
        /// Если не установлен параметр need_mutual, то в случае успеха возвращает
        /// отсортированный в антихронологическом
        /// порядке по времени подачи заявки список идентификаторов (id) пользователей
        /// (кому или от кого пришла заявка).
        /// Если установлен параметр need_mutual, то в случае успеха возвращает
        /// отсортированный в антихронологическом порядке
        /// по времени подачи заявки массив объектов, содержащих информацию о заявках на
        /// добавление в друзья.
        /// Каждый из объектов содержит поле uid, являющийся идентификатором пользователя.
        /// При наличии общих друзей, в объекте будет содержаться поле mutual, в котором
        /// будет находиться список
        /// идентификаторов общих друзей.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/friends.getRequests
        /// </remarks>
        public GetRequestsResult GetRequests(FriendsGetRequestsParams @params)
        {
            const string errorMessage =
                "Для получения расширенной информации используйте метод GetRequestsExtended(FriendsGetRequestsParams @params)";

            if (@params.Extended.HasValue && @params.Extended.Value)
            {
                throw new ParameterMissingOrInvalidException(message: errorMessage);
            }

            if (@params.NeedMutual.HasValue && @params.NeedMutual.Value)
            {
                throw new ParameterMissingOrInvalidException(message: errorMessage);
            }

            return(_vk.Call <GetRequestsResult>(methodName: "friends.getRequests", parameters: @params));
        }
示例#4
0
        [ApiVersion("5.44")]         // TODO IDictionary<long, FriendStatus>
        public IDictionary <long, ReadOnlyCollection <long> > GetRequests(FriendsGetRequestsParams @params)
        {
            VkResponseArray response = _vk.Call("friends.getRequests", @params);

            // Проверка возвращается ли список объектов или идентификаторы пользователя
            if (response.Count > 0 && response[0].ContainsKey("user_id"))
            {
                var dicResult = new Dictionary <long, ReadOnlyCollection <long> >();
                foreach (var item in response)
                {
                    VkResponseArray mutual = item["mutual"];
                    dicResult.Add(item["user_id"], mutual.ToReadOnlyCollectionOf(x => (long)x));
                }
                return(dicResult);
            }

            return(response.ToDictionary(x => (long)x, x => new ReadOnlyCollection <long>(new List <long>())));
        }
示例#5
0
        public ReadOnlyCollection <long> GetRequests(int?count = null, int?offset = null, bool extended = false, bool needMutual = false, bool @out = false, bool sort = false, bool suggested = false)
        {
            VkErrors.ThrowIfNumberIsNegative(() => count);
            VkErrors.ThrowIfNumberIsNegative(() => offset);

            var parameters = new FriendsGetRequestsParams
            {
                Offset     = offset,
                Count      = count,
                Extended   = extended,
                NeedMutual = needMutual,
                Out        = @out,
                Sort       = sort,
                Suggested  = suggested
            };

            return(GetRequests(parameters).Select(x => x.Key).ToReadOnlyCollection());
        }
示例#6
0
 /// <inheritdoc />
 public Task <VkCollection <FriendsGetRequestsResult> > GetRequestsExtendedAsync(FriendsGetRequestsParams @params)
 {
     return(TypeHelper.TryInvokeMethodAsync(func: () => _vk.Friends.GetRequestsExtended(@params: @params)));
 }
示例#7
0
 /// <inheritdoc />
 public Task <GetRequestsResult> GetRequestsAsync(FriendsGetRequestsParams @params)
 {
     return(TypeHelper.TryInvokeMethodAsync(func: () => _vk.Friends.GetRequests(@params: @params)));
 }
示例#8
0
        /// <summary>
        /// Возвращает информацию о полученных или отправленных заявках на добавление в
        /// друзья для текущего пользователя.
        /// </summary>
        /// <param name="params"> Входные параметры выборки. </param>
        /// <returns>
        /// Если не установлен параметр need_mutual, то в случае успеха возвращает
        /// отсортированный в антихронологическом
        /// порядке по времени подачи заявки список идентификаторов (id) пользователей
        /// (кому или от кого пришла заявка).
        /// Если установлен параметр need_mutual, то в случае успеха возвращает
        /// отсортированный в антихронологическом порядке
        /// по времени подачи заявки массив объектов, содержащих информацию о заявках на
        /// добавление в друзья.
        /// Каждый из объектов содержит поле uid, являющийся идентификатором пользователя.
        /// При наличии общих друзей, в объекте будет содержаться поле mutual, в котором
        /// будет находиться список
        /// идентификаторов общих друзей.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/friends.getRequests
        /// </remarks>
        public VkCollection <FriendsGetRequestsResult> GetRequestsExtended(FriendsGetRequestsParams @params)
        {
            @params.Extended = true;

            return(_vk.Call <VkCollection <FriendsGetRequestsResult> >(methodName: "friends.getRequests", parameters: @params));
        }
示例#9
0
        /// <summary>
        /// Возвращает информацию о полученных или отправленных заявках на добавление в друзья для текущего пользователя.
        /// </summary>
        /// <param name="params">Входные параметры выборки.</param>
        /// <returns>
        /// Если не установлен параметр need_mutual, то в случае успеха возвращает отсортированный в антихронологическом порядке по времени подачи заявки список идентификаторов (id) пользователей (кому или от кого пришла заявка).
        /// Если установлен параметр need_mutual, то в случае успеха возвращает отсортированный в антихронологическом порядке по времени подачи заявки массив объектов, содержащих информацию о заявках на добавление в друзья.
        /// Каждый из объектов содержит поле uid, являющийся идентификатором пользователя.
        /// При наличии общих друзей, в объекте будет содержаться поле mutual, в котором будет находиться список идентификаторов общих друзей.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте <see href="http://vk.com/dev/friends.getRequests" />.
        /// </remarks>
        public IDictionary<long, ReadOnlyCollection<long>> GetRequests(FriendsGetRequestsParams @params)
        {
            VkResponseArray response = _vk.Call("friends.getRequests", @params);

            // Проверка возвращается ли список объектов или идентификаторы пользователя
            if (response.Count > 0 && response[0].ContainsKey("user_id"))
            {
                var dicResult = new Dictionary<long, ReadOnlyCollection<long>>();
                foreach (var item in response)
                {
                    VkResponseArray mutual = item["mutual"];
                    dicResult.Add(item["user_id"], mutual.ToReadOnlyCollectionOf(x => (long)x));
                }
                return dicResult;
            }

            return response.ToDictionary(x => (long)x, x => new ReadOnlyCollection<long>(new List<long>()));
        }