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); }
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); }
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?()); }
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); }
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); }
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); }
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); }