public void UpdateRating(DynamicListData <User> users, Action onFinish) { /* TODO reativar ranking AppController */ UserDialogs.Instance.ShowLoading(AppResources.LoadingRanking); var parameters = new KinveyDownloadListParameters(KinveyDownloadCountType.FirstPage, QueryBuilder.Instance.GetRankingKinveyQuery()); var requestTask = new DownloadUsersBackgroundTask(AppModel.Instance.Users, parameters); requestTask.ContinueWith((task, result) => { UserDialogs.Instance.HideLoading(); if (result == null) { AppProvider.PopUpFactory.ShowMessage(AppResources.FailedServer, AppResources.Error); } else { users.ClearData(); users.UpdateData(result); Device.BeginInvokeOnMainThread(onFinish); } }); _backgroundWorkers[AppBackgroundWorkerType.DownloadRanking].Add(requestTask); }
public void UpdateProfileData(UserModel userModel, bool downloadConnections = true, Action onFinish = null) { UserDialogs.Instance.ShowLoading(AppResources.LoadingHistory); //download user profile var downloadProfileTask = new DownloadUsersBackgroundTask(null, new KinveyDownloadListParameters(KinveyDownloadCountType.FirstPage, QueryBuilder.Instance.GetUserByEmailKinveyQuery(userModel.User.Email))); downloadProfileTask.ContinueWith((profileTask, profileResult) => { if (profileResult == null) { UserDialogs.Instance.HideLoading(); AppProvider.PopUpFactory.ShowMessage(AppResources.FailedServer, AppResources.Error); } else { userModel.UpdateUser(profileResult[0]); //points, score, etc //UserDialogs.Instance.HideLoading(); var downloadBadges = new DownloadBadgesTypesBackgroundTask(); downloadBadges.ContinueWith((badgesTask, badgesResult) => { if (badgesResult == null) { UserDialogs.Instance.HideLoading(); AppProvider.PopUpFactory.ShowMessage(AppResources.FailedServer, AppResources.Error); } else { var downloadBadgesByUserTask = new DownloadBadgesByUserBackgroundTask(userModel.BadgeActions, userModel.User.Id); downloadBadgesByUserTask.ContinueWith((badgesUserTask, badgesUserResult) => { UserDialogs.Instance.HideLoading(); if (badgesUserResult == null) { AppProvider.PopUpFactory.ShowMessage(AppResources.FailedServer, AppResources.Error); } /* TODO - reativar DownloadConnections USERCONTROLLER:UpdateProfileData - validar se necessário*/ else if (downloadConnections) { DownloadConnections(onFinish: onFinish); } else { Device.BeginInvokeOnMainThread(onFinish); } }); _backgroundWorkers[AppBackgroundWorkerType.UserDefault].Add(downloadBadgesByUserTask); } }); _backgroundWorkers[AppBackgroundWorkerType.UserDefault].Add(downloadBadges); } }); _backgroundWorkers[AppBackgroundWorkerType.UserDefault].Add(downloadProfileTask); }
public void DownloadAllUsers(Action onFinish = null) { var parameters = new KinveyDownloadListParameters(KinveyDownloadCountType.All, QueryBuilder.Instance.GetUsersSortByNameKinveyQuery()); var downloadAllUsersTask = new DownloadUsersBackgroundTask(AppModel.Instance.Users, parameters); downloadAllUsersTask.ContinueWith((task, result) => Device.BeginInvokeOnMainThread(onFinish)); _backgroundWorkers[AppBackgroundWorkerType.DownloadUsers].Add(downloadAllUsersTask); }
public void SearchUsers(DynamicListData <User> dataModel, string pattern, Action onFinish) { String searchPatern = FirstCharToUpper(pattern); //TODO reativar Search user AppController var parameters = new KinveyDownloadListParameters(KinveyDownloadCountType.All, QueryBuilder.Instance.GetSearchUsersKinveyQuery(searchPatern)); var searchTask = new DownloadUsersBackgroundTask(dataModel, parameters); searchTask.ContinueWith((task, result) => { Device.BeginInvokeOnMainThread(onFinish); if (result == null) { AppProvider.PopUpFactory.ShowMessage(AppResources.FailedServer, AppResources.Error); } }); _backgroundWorkers[AppBackgroundWorkerType.SearchUsers].Add(searchTask); }