예제 #1
0
        public override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState)
        {
            var parameter = JsonConvert.DeserializeObject <KeyValuePair <string, int> >(e.Parameter.ToString());

            _userID = parameter.Value;

            if (e.NavigationMode == NavigationMode.New)
            {
                switch (parameter.Key)
                {
                case "friends":
                    LastPivotIndex = 0;
                    break;

                //case "fr_lists":
                //    LastPivotIndex = 1;
                //    break;
                case "groups":
                    LastPivotIndex = 1;
                    break;

                default:
                    LastPivotIndex = 0;
                    break;
                }
            }

            if (viewModelState.Count > 0)
            {
                Friends = JsonConvert.DeserializeObject <PaginatedCollection <User> >(
                    viewModelState[nameof(Friends)].ToString());
                FriendsLists = JsonConvert.DeserializeObject <SimpleStateSupportCollection <FriendsList> >(
                    viewModelState[nameof(FriendsLists)].ToString());
                Groups = JsonConvert.DeserializeObject <PaginatedCollection <Group> >(
                    viewModelState[nameof(Groups)].ToString());

                LastPivotIndex = (int)viewModelState[nameof(LastPivotIndex)];
                _friendsOffset = (int)viewModelState[nameof(_friendsOffset)];
                _groupsOffset  = (int)viewModelState[nameof(_groupsOffset)];

                Friends.LoadMoreItems  = LoadMoreFriends;
                FriendsLists.LoadItems = LoadLists;
                Groups.LoadMoreItems   = LoadMoreGroups;
            }
            else
            {
                Friends      = new PaginatedCollection <User>(LoadMoreFriends);
                FriendsLists = new SimpleStateSupportCollection <FriendsList>(LoadLists);
                Groups       = new PaginatedCollection <Group>(LoadMoreGroups);

                _friendsOffset = 0;
                _groupsOffset  = 0;

                PageTitle = "ВКачай";
                LoadUserInfo(_userID);
            }

            FriendsLists.Load();
            base.OnNavigatedTo(e, viewModelState);
        }
예제 #2
0
        public override void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary <string, object> viewModelState, bool suspending)
        {
            if (e.NavigationMode == NavigationMode.New)
            {
                viewModelState[nameof(Friends)]        = JsonConvert.SerializeObject(Friends.ToList());
                viewModelState[nameof(FriendsLists)]   = JsonConvert.SerializeObject(FriendsLists.ToList());
                viewModelState[nameof(Groups)]         = JsonConvert.SerializeObject(Groups.ToList());
                viewModelState[nameof(LastPivotIndex)] = LastPivotIndex;
                viewModelState[nameof(_friendsOffset)] = _friendsOffset;
                viewModelState[nameof(_groupsOffset)]  = _groupsOffset;
            }

            base.OnNavigatingFrom(e, viewModelState, suspending);
        }
예제 #3
0
        private async Task <IEnumerable <FriendsList> > LoadLists()
        {
            if (FriendsLists.Any())
            {
                return(new List <FriendsList>(0));
            }

            var response = await _inTouchWrapper.ExecuteRequest(_inTouch.Friends.GetLists(_userID, true));

            if (response.IsError)
            {
                throw new Exception(response.Error.ToString());
            }

            return(response.Data.Items);
        }
예제 #4
0
        public ActionResult About()
        {
            FacebookWebAuthorizer fwa = new FacebookWebAuthorizer(new PraLoupFacebookApplication(), HttpContext);

            fwa.Permissions   = new string[] { "publish_stream" };
            fwa.ReturnUrlPath = HttpContext.Request.Url.ToString();
            if (fwa.Authorize())
            {
                var oAuth = new OAuthHandler();

                //Get the access token and secret.
                oAuth.Token = FacebookWebContext.Current.AccessToken;
                Friends      f  = new Friends(oAuth);
                FriendsLists fl = new FriendsLists(oAuth);
            }

            return(View());
        }