Exemplo n.º 1
0
        public void GetFaveUsers(int offset, int count, Action <BackendResult <UsersListWithCount, ResultCode> > callback)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>();
            string str = string.Format("  var us = API.fave.getUsers({{\"offset\":{0}, \"count\":{1}}});\r\nvar users = API.users.get({{user_ids: [email protected], \"fields\": \"online, online_mobile, photo_max\"}});\r\nif (users)\r\n{{\r\n\r\nreturn users;\r\n}}\r\nreturn [];", offset, count);

            parameters["code"] = str;
            VKRequestsDispatcher.DispatchRequestToVK <UsersListWithCount>("execute", parameters, callback, (Func <string, UsersListWithCount>)(jsonStr =>
            {
                GenericRoot <List <User> > genericRoot = JsonConvert.DeserializeObject <GenericRoot <List <User> > >(jsonStr);
                return(new UsersListWithCount()
                {
                    users = genericRoot.response
                });
            }), false, true, new CancellationToken?(), null);
        }
Exemplo n.º 2
0
        public void GetFavePhotos(int offset, int count, Action <BackendResult <PhotosListWithCount, ResultCode> > callback)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters["offset"] = offset.ToString();
            parameters["count"]  = count.ToString();
            VKRequestsDispatcher.DispatchRequestToVK <PhotosListWithCount>("fave.getPhotos", parameters, callback, (Func <string, PhotosListWithCount>)(jsonStr =>
            {
                GenericRoot <VKList <Photo> > genericRoot = JsonConvert.DeserializeObject <GenericRoot <VKList <Photo> > >(jsonStr);
                return(new PhotosListWithCount()
                {
                    response = genericRoot.response.items,
                    photosCount = genericRoot.response.count
                });
            }), false, true, new CancellationToken?(), null);
        }
Exemplo n.º 3
0
        public void GetWallForManyUsers(List <WallService.WallRequestData> requestData, Action <BackendResult <List <WallData>, ResultCode> > callback)
        {
            StringBuilder stringBuilder1 = new StringBuilder().AppendFormat("var users =  API.users.get({{\"user_ids\":\"{0}\", \"fields\":\"wall_default\"}});", new object[1]
            {
                requestData.Select <WallService.WallRequestData, long>((Func <WallService.WallRequestData, long>)(r => r.UserId)).ToList <long>().GetCommaSeparated()
            }).Append(Environment.NewLine);

            for (int index = 0; index < requestData.Count; ++index)
            {
                WallService.WallRequestData wallRequestData = requestData[index];
                stringBuilder1 = stringBuilder1.AppendFormat("var wall{3} = API.wall.get({{\"owner_id\":{0}, \"offset\":{1}, \"count\":{2}, \"extended\":1, \"filter\":users[{3}].wall_default}});", wallRequestData.UserId, wallRequestData.Offset, wallRequestData.Count, index).AppendFormat(Environment.NewLine);
            }
            StringBuilder stringBuilder2 = stringBuilder1.Append("return {");

            for (int index = 0; index < requestData.Count; ++index)
            {
                if (index > 0)
                {
                    stringBuilder2 = stringBuilder2.Append(", ");
                }
                stringBuilder2 = stringBuilder2.AppendFormat("\"Wall{0}\":wall{0} ", new object[1]
                {
                    index
                });
            }
            VKRequestsDispatcher.Execute <List <WallData> >(stringBuilder2.Append("};").ToString(), callback, (Func <string, List <WallData> >)(jsonStr =>
            {
                List <WallData> wallDataList1 = new List <WallData>();
                jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "wall", false);
                jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "profiles", false);
                jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "groups", false);
                for (int index = 0; index < requestData.Count; ++index)
                {
                    jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "Wall" + index, true);
                }
                List <int> resultCounts;
                jsonStr = VKRequestsDispatcher.GetArrayCountsAndRemove(jsonStr, "wall", out resultCounts);
                GenericRoot <Dictionary <string, WallData> > genericRoot = JsonConvert.DeserializeObject <GenericRoot <Dictionary <string, WallData> > >(jsonStr);
                List <WallData> wallDataList2 = new List <WallData>();
                foreach (KeyValuePair <string, WallData> keyValuePair in genericRoot.response)
                {
                    wallDataList2.Add(keyValuePair.Value);
                }
                return(wallDataList2);
            }), false, true, new CancellationToken?());
        }
Exemplo n.º 4
0
        public void CreateAlbum(Album album, Action <BackendResult <Album, ResultCode> > callback, long gid = 0)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters["title"]        = album.title;
            parameters["privacy_view"] = album.PrivacyViewInfo.ToString();
            parameters["description"]  = album.description;
            if (gid != 0L)
            {
                parameters["group_id"] = gid.ToString();
            }
            VKRequestsDispatcher.DispatchRequestToVK <Album>("photos.createAlbum", parameters, callback, (Func <string, Album>)(jsonStr =>
            {
                GenericRoot <Album> genericRoot  = JsonConvert.DeserializeObject <GenericRoot <Album> >(jsonStr);
                genericRoot.response.description = album.description;
                return(genericRoot.response);
            }), false, true, new CancellationToken?(), null);
        }
Exemplo n.º 5
0
        public void GetFavePosts(int offset, int count, Action <BackendResult <WallData, ResultCode> > callback)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters["offset"]   = offset.ToString();
            parameters["extended"] = "1";
            VKRequestsDispatcher.DispatchRequestToVK <WallData>("fave.getPosts", parameters, callback, (Func <string, WallData>)(jsonStr =>
            {
                GenericRoot <WallDataResponse> genericRoot = JsonConvert.DeserializeObject <GenericRoot <WallDataResponse> >(jsonStr);
                return(new WallData()
                {
                    groups = genericRoot.response.groups,
                    profiles = genericRoot.response.profiles,
                    wall = genericRoot.response.items,
                    TotalCount = genericRoot.response.count
                });
            }), false, true, new CancellationToken?(), null);
        }
Exemplo n.º 6
0
        public void GetUserGroups(long userId, int offset, int count, string filter, Action <BackendResult <GroupsLists, ResultCode> > callback)
        {
            string str        = string.Format("\r\n\r\nvar groups = API.groups.get({{ user_id: {0}, extended: 1, fields: \"members_count,activity,start_date,finish_date,verified\", filter: \"{1}\", count: {2}, offset: {3} }});\r\nvar invitations = API.groups.getInvites({{ count: 1, \"fields\": \"members_count\" }});\r\n\r\nvar first_invitation_community = null;\r\nvar first_invitation_inviter = null;\r\n\r\nif (invitations.items.length > 0)\r\n{{\r\n    first_invitation_community = invitations.items[0];\r\n    first_invitation_inviter = API.users.get({{ user_ids: first_invitation_community.invited_by, fields: \"sex\" }})[0];\r\n}}\r\n\r\nvar result = {{ \"groups\": groups }};\r\nif ({4})\r\n{{\r\n    result.invitations =\r\n    {{\r\n        \"count\": invitations.count,\r\n        \"first_invitation\":\r\n        {{\r\n            \"community\": first_invitation_community,\r\n            \"inviter\": first_invitation_inviter\r\n        }}\r\n    }};\r\n}}\r\n\r\nreturn result;\r\n\r\n                ", userId, filter, count, offset, (filter == "events" || filter == "moder" ? "false" : "true"));
            string methodName = "execute";
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("code", str);
            Action <BackendResult <GroupsLists, ResultCode> > callback1 = callback;
            int num1 = 0;
            int num2 = 1;
            CancellationToken?cancellationToken = new CancellationToken?();

            // ISSUE: variable of the null type

            VKRequestsDispatcher.DispatchRequestToVK <GroupsLists>(methodName, parameters, callback1, (Func <string, GroupsLists>)(jsonString =>
            {
                GenericRoot <GroupsListWithInvitations> genericRoot = JsonConvert.DeserializeObject <GenericRoot <GroupsListWithInvitations> >(jsonString);
                return(new GroupsLists()
                {
                    Communities = genericRoot.response.groups,
                    Invitations = genericRoot.response.invitations
                });
            }), num1 != 0, num2 != 0, cancellationToken, null);
        }
Exemplo n.º 7
0
        public void GetUserAlbums(Action <BackendResult <ListResponse <AudioAlbum>, ResultCode> > callback, long?userOrGroupId = null, bool isGroup = false, int offset = 0, int count = 0)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            if (userOrGroupId.HasValue && !isGroup)
            {
                parameters["user_id"] = userOrGroupId.Value.ToString();
            }
            if (userOrGroupId.HasValue & isGroup)
            {
                parameters["group_id"] = userOrGroupId.Value.ToString();
            }
            parameters["offset"] = offset.ToString();
            parameters["count"]  = count == 0 ? VKConstants.AlbumsReadCount.ToString() : count.ToString();
            VKRequestsDispatcher.DispatchRequestToVK <ListResponse <AudioAlbum> >("audio.getAlbums", parameters, callback, (Func <string, ListResponse <AudioAlbum> >)(jsonStr =>
            {
                GenericRoot <VKList <AudioAlbum> > genericRoot = JsonConvert.DeserializeObject <GenericRoot <VKList <AudioAlbum> > >(jsonStr);
                return(new ListResponse <AudioAlbum>()
                {
                    Data = genericRoot.response.items,
                    TotalCount = genericRoot.response.count
                });
            }), false, true, new CancellationToken?(), null);
        }