private void Initialize() { EventAggregator.Current.Subscribe((object)this); this._helperGetFriendsAndMutual = new AsyncHelper <BackendResult <FriendsAndMutualFriends, ResultCode> >((Action <Action <BackendResult <FriendsAndMutualFriends, ResultCode> > >)(a => UsersService.Instance.GetFriendsAndMutual(this._uid, a))); this._helperGetCurrentUserFriends = new AsyncHelper <BackendResult <List <User>, ResultCode> >((Action <Action <BackendResult <List <User>, ResultCode> > >)(a => UsersService.Instance.GetFriendsWithRequests((Action <BackendResult <AllFriendsList, ResultCode> >)(async(res) => {//omg_re async if (res.ResultCode == ResultCode.Succeeded) { FriendsCache.Instance.SetFriends(res.ResultData.friends, res.ResultData.requests); await ContactsManager.Instance.SyncContactsAsync(res.ResultData.friends); this.RequestsViewModel = res.ResultData.requests; CountersManager.Current.Counters.friends = this.RequestsViewModel.menu_counter; EventAggregator.Current.Publish((object)new CountersChanged(CountersManager.Current.Counters)); } Action <BackendResult <List <User>, ResultCode> > action = a; BackendResult <List <User>, ResultCode> backendResult = new BackendResult <List <User>, ResultCode>(); backendResult.Error = res.Error; backendResult.ResultCode = res.ResultCode; AllFriendsList resultData = res.ResultData; List <User> userList = resultData != null ? resultData.friends : (List <User>)null; backendResult.ResultData = userList; action(backendResult); })))); this._helperFriendsFromList = new AsyncHelper <BackendResult <List <User>, ResultCode> >((Action <Action <BackendResult <List <User>, ResultCode> > >)(a => UsersService.Instance.GetFriendsForList(this._lid, a))); this._allFriendsVM = new GenericCollectionViewModel <List <User>, Group <FriendHeader> >((ICollectionDataProvider <List <User>, Group <FriendHeader> >) this) { NeedCollectionCountBeforeFullyLoading = true, RecreateCollectionOnRefresh = true }; this._onlineFriendsVM = new GenericCollectionViewModel <List <User>, FriendHeader>((ICollectionDataProvider <List <User>, FriendHeader>) this) { NeedCollectionCountBeforeFullyLoading = true }; this._commonFriendsVM = new GenericCollectionViewModel <List <User>, FriendHeader>((ICollectionDataProvider <List <User>, FriendHeader>) this) { NeedCollectionCountBeforeFullyLoading = true }; this._friendsListVM = new GenericCollectionViewModel <List <FriendsList>, FriendHeader>((ICollectionDataProvider <List <FriendsList>, FriendHeader>) this) { NeedCollectionCountBeforeFullyLoading = true }; if (this._lid != 0) { return; } this._allFriendsVM.NoContentText = CommonResources.NoContent_Friends; this._allFriendsVM.NoContentImage = "../Resources/NoContentImages/Friends.png"; }
private void Initialize() { EventAggregator.Current.Subscribe(this); this._helperGetFriendsAndMutual = new AsyncHelper <BackendResult <FriendsAndMutualFriends, ResultCode> >((Action <Action <BackendResult <FriendsAndMutualFriends, ResultCode> > >)(a => UsersService.Instance.GetFriendsAndMutual(this._uid, a))); this._helperGetCurrentUserFriends = new AsyncHelper <BackendResult <List <User>, ResultCode> >((Action <Action <BackendResult <List <User>, ResultCode> > >)(a => UsersService.Instance.GetFriendsAndLists((Action <BackendResult <AllFriendsList, ResultCode> >)(async res => { if (res.ResultCode == ResultCode.Succeeded) {//todo:bug FriendsCache.Instance.SetFriends(res.ResultData.items, null /*res.ResultData.requests*/); await ContactsManager.Instance.SyncContactsAsync(res.ResultData.items); //this.RequestsViewModel = res.ResultData.requests; //if (this.RequestsViewModel != null) //{//todo:bug // CountersManager.Current.Counters.friends = this.RequestsViewModel.menu_counter; // EventAggregator.Current.Publish(new CountersChanged(CountersManager.Current.Counters)); //} } BackendResult <List <User>, ResultCode> backendResult = new BackendResult <List <User>, ResultCode>(); backendResult.Error = res.Error; backendResult.ResultCode = res.ResultCode; AllFriendsList resultData = res.ResultData; //List<User> userList = resultData != null ? resultData.friends : null; //backendResult.ResultData = userList; a(backendResult); })))); // this._helperGetFriendsRequests = new AsyncHelper <BackendResult <List <User>, ResultCode> >((Action <Action <BackendResult <List <User>, ResultCode> > >)(a => UsersService.Instance.GetFriendRequests((Action <BackendResult <FriendRequestsMaterial, ResultCode> >)(res => { if (res.ResultCode == ResultCode.Succeeded) { if (this.RequestsViewModel == null) { this.RequestsViewModel = new FriendRequests(); } FriendRequestsMaterial d = res.ResultData; this.RequestsViewModel.count = d.count; this.RequestsViewModel.profiles = d.profiles; foreach (FriendRequestsMaterial.FriendRequestItem f in d.items) { FriendRequest fr = new FriendRequest(); fr.message = f.message; fr.from = f.user_id; this.RequestsViewModel.requests.Add(fr); } CountersManager.Current.Counters.friends = this.RequestsViewModel.menu_counter; EventAggregator.Current.Publish(new CountersChanged(CountersManager.Current.Counters)); } BackendResult <List <User>, ResultCode> backendResult = new BackendResult <List <User>, ResultCode>(); backendResult.Error = res.Error; backendResult.ResultCode = res.ResultCode; FriendRequestsMaterial resultData = res.ResultData; a(backendResult); })))); // this._helperFriendsFromList = new AsyncHelper <BackendResult <List <User>, ResultCode> >((Action <Action <BackendResult <List <User>, ResultCode> > >)(a => UsersService.Instance.GetFriendsForList(this._lid, a))); this._allFriendsVM = new GenericCollectionViewModel <List <User>, Group <FriendHeader> >((ICollectionDataProvider <List <User>, Group <FriendHeader> >) this) { NeedCollectionCountBeforeFullyLoading = true, RecreateCollectionOnRefresh = true }; this._onlineFriendsVM = new GenericCollectionViewModel <List <User>, FriendHeader>((ICollectionDataProvider <List <User>, FriendHeader>) this) { NeedCollectionCountBeforeFullyLoading = true }; this._commonFriendsVM = new GenericCollectionViewModel <List <User>, FriendHeader>((ICollectionDataProvider <List <User>, FriendHeader>) this) { NeedCollectionCountBeforeFullyLoading = true }; this._friendsListVM = new GenericCollectionViewModel <List <FriendsList>, FriendHeader>((ICollectionDataProvider <List <FriendsList>, FriendHeader>) this) { NeedCollectionCountBeforeFullyLoading = true }; if (this._lid != 0L) { return; } this._allFriendsVM.NoContentText = CommonResources.NoContent_Friends; this._allFriendsVM.NoContentImage = "../Resources/NoContentImages/Friends.png"; }