public void GetProfileInfo(long userId, Action <BackendResult <UserData, ResultCode> > callback) { Dictionary <string, string> parameters = new Dictionary <string, string>(); string index1 = "userId"; string str1 = userId.ToString(); parameters[index1] = str1; string index2 = "func_v"; string str2 = "3"; parameters[index2] = str2; VKRequestsDispatcher.DispatchRequestToVK <UserData>("execute.getProfileInfo", parameters, callback, (Func <string, UserData>)(jsonStr => { jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "relatives", false); jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "wallData", true); jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "Groups", false); jsonStr = VKRequestsDispatcher.FixArrayToObject(jsonStr, "personal"); jsonStr = VKRequestsDispatcher.FixArrayToObject(jsonStr, "occupation"); jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "photos", true); jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "subscriptions", true); jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "gifts", true); int resultCount; jsonStr = VKRequestsDispatcher.GetArrayCountAndRemove(jsonStr, "wall", out resultCount); VKRequestsDispatcher.GenericRoot <UserData> genericRoot = JsonConvert.DeserializeObject <VKRequestsDispatcher.GenericRoot <UserData> >(jsonStr); if (genericRoot.response.user.counters.docs == 0) { genericRoot.response.user.counters.docs = genericRoot.response.docsCount; } return(genericRoot.response); }), false, true, new CancellationToken?(), null); }
public void GetNotifications(int startTime, int endTime, int offset, string fromStr, int count, Action <BackendResult <NotificationData, ResultCode> > callback) { Dictionary <string, string> parameters = new Dictionary <string, string>(); if (startTime > 0) { parameters["start_time"] = startTime.ToString(); } if (endTime > 0) { parameters["end_time"] = endTime.ToString(); } if (count > 0) { parameters["count"] = count.ToString(); } if (offset > 0) { parameters["offset"] = offset.ToString(); } if (!string.IsNullOrWhiteSpace(fromStr)) { parameters["start_from"] = fromStr; } parameters["fields"] = "sex,photo_50,photo_100,online,screen_name,first_name_dat,last_name_dat,first_name_gen,last_name_gen"; Dictionary <string, string> dictionary = parameters; dictionary["fields"] = dictionary["fields"] + ",is_closed,type,is_admin,is_member,photo_200"; VKRequestsDispatcher.DispatchRequestToVK <NotificationData>("notifications.get", parameters, callback, (Func <string, NotificationData>)(jsonStr => { int resultCount = 0; jsonStr = VKRequestsDispatcher.GetArrayCountAndRemove(jsonStr, "items", out resultCount); jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "profiles", false); jsonStr = VKRequestsDispatcher.FixFalseArray(jsonStr, "groups", false); NotificationData response = JsonConvert.DeserializeObject <GenericRoot <NotificationData> >(jsonStr).response; response.TotalCount = resultCount; List <Notification> notificationList = new List <Notification>(); foreach (Notification notification in response.items) { notification.UpdateNotificationType(); object parsedFeedback = notification.ParsedFeedback; object parsedParent = notification.ParsedParent; if (notification.NotType == NotificationType.unknown) { notificationList.Add(notification); } } foreach (Notification notification in notificationList) { response.items.Remove(notification); } return(response); }), false, true, new CancellationToken?(), null); }
public void GetAllTracksAndAlbums(long userOrGroupId, bool isGroup, Action <BackendResult <AudioData, ResultCode> > callback) { Dictionary <string, string> parameters = new Dictionary <string, string>(); string str = string.Format("var allTracks = API.audio.get({{{0}:\"{1}\", count:\"{2}\", offset:\"0\"}}).items;\r\n var allAlbums = API.audio.getAlbums({{{0}:\"{1}\", count:\"{3}\", offset:\"0\"}}).items;\r\n return {{\"allTracks\":allTracks, \"allAlbums\":allAlbums}};", (isGroup ? "group_id" : "user_id"), userOrGroupId, VKConstants.TracksReadCount.ToString(), VKConstants.AlbumsReadCount.ToString()); parameters["code"] = str; VKRequestsDispatcher.DispatchRequestToVK <AudioData>("execute", parameters, callback, (Func <string, AudioData>)(jsonStr => { AudioData audioData = new AudioData(); int resultCount; jsonStr = VKRequestsDispatcher.GetArrayCountAndRemove(jsonStr, "allAlbums", out resultCount); AudioData response = JsonConvert.DeserializeObject <AudioDataRoot>(jsonStr).response; response.AllAlbumsCount = resultCount; return(response); }), false, true, new CancellationToken?(), null); }