示例#1
0
        private async void CheckAlreadyExists()
        {
            var data = StorageService.Instance.Storage.RetrieveList <PassportDataModel>();

            if (data != null && data.Count > 0)
            {
                var dm = data[0];

                var apis = StorageService.Instance.Storage.RetrieveList <APIKeyDataModel>();
                if (apis != null && apis.Count > 0)
                {
                    apiKey = apis.Where(x => x.Id == dm.APIKeyFKID).FirstOrDefault();
                }

                RequestToken = new OAuthRequestToken()
                {
                    Token = dm.Token, TokenSecret = dm.TokenSecret
                };
                AccessToken = new OAuthAccessToken()
                {
                    Username    = dm.UserName,
                    FullName    = dm.FullName,
                    ScreenName  = dm.ScreenName,
                    Token       = dm.Token,
                    TokenSecret = dm.TokenSecret,
                    UserId      = dm.UserId,
                };
                IsLoggedIn = true;

                _flickr.OAuthAccessToken       = AccessToken.Token;
                _flickr.OAuthAccessTokenSecret = AccessToken.TokenSecret;

                _flickr.ApiKey    = apiKey.APIKey;
                _flickr.ApiSecret = apiKey.APISecret;

                var p = await _flickr.PeopleGetInfoAsync(AccessToken.UserId);

                if (!p.HasError)
                {
                    LoggedInUser = p.Result;
                }

                var favs = await _flickr.FavoritesGetListAsync(AccessToken.UserId);

                if (!favs.HasError)
                {
                    Favourites = favs.Result;
                }
            }
        }
示例#2
0
        private async void PopulatePassportData()
        {
            if (apiKey == null)
            {
                IsLoginVisible = Visibility.Visible; return;
            }

            var data = StorageService.Instance.Storage.RetrieveList <PassportDataModel>();

            if (data != null && data.Count > 0)
            {
                IsLoginVisible = Visibility.Visible;
                IsTabsVisible  = Visibility.Collapsed;

                var dm = data.Where(x => x.PassType == GroupingType).FirstOrDefault();
                if (dm != null)
                {
                    IsLoginVisible = Visibility.Collapsed;
                    IsTabsVisible  = Visibility.Visible;

                    RequestToken = new OAuthRequestToken()
                    {
                        Token = dm.Token, TokenSecret = dm.TokenSecret
                    };
                    AccessToken = new OAuthAccessToken()
                    {
                        Username    = dm.UserName,
                        FullName    = dm.FullName,
                        ScreenName  = dm.ScreenName,
                        Token       = dm.Token,
                        TokenSecret = dm.TokenSecret,
                        UserId      = dm.UserId,
                    };
                    //IsLoggedIn = true;

                    _flickr.OAuthAccessToken       = AccessToken.Token;
                    _flickr.OAuthAccessTokenSecret = AccessToken.TokenSecret;

                    _flickr.ApiKey    = apiKey.APIKey;
                    _flickr.ApiSecret = apiKey.APISecret;

                    var p = await _flickr.PeopleGetInfoAsync(AccessToken.UserId);

                    if (!p.HasError)
                    {
                        LoggedInUser = p.Result;
                    }

                    var favs = await _flickr.FavoritesGetListAsync(AccessToken.UserId);

                    if (!favs.HasError)
                    {
                        var temp = new PhotoCollection();
                        foreach (var fav in favs.Result)
                        {
                            //fav.MachineTags = "https://c1.staticflickr.com/1/523/buddyicons/118877287@N03_l.jpg?1437204284#118877287@N03";
                            fav.MachineTags = $"https://c1.staticflickr.com/{fav.IconFarm}/{fav.IconServer}/buddyicons/{fav.UserId}.jpg?";
                            temp.Add(fav);
                        }
                        FavouritePhotos = temp;
                    }
                }
            }
            else
            {
                //no passport so show login button
                IsLoginVisible = Visibility.Visible;
                IsTabsVisible  = Visibility.Collapsed;
            }
        }
        private async void LoadDataSource(OAuthAccessToken accessToken)
        {
            var f = new Flickr("dbc316af64fb77dae9140de64262da0a", "0781969a058a2745")
                        {
                            OAuthAccessToken = accessToken.Token,
                            OAuthAccessTokenSecret = accessToken.TokenSecret
                        };

            var groups = DefaultViewModel["Groups"] as ObservableCollection<SampleDataGroup>;
            groups.Clear();
            var photostreamGroup = new SampleDataGroup("A", "Your Photos", "Photostream", "", "");
            groups.Add(photostreamGroup);

            var contactsGroup = new SampleDataGroup("A", "Your Contact", "Latest Updates", "", "");
            groups.Add(contactsGroup);

            var favouritesGroup = new SampleDataGroup("A", "Your Favourites", "Favourite Photos", "", "");
            groups.Add(favouritesGroup);

            var photos = await f.PeopleGetPhotosAsync(accessToken.UserId, SafetyLevel.None, null, null, null, null,
                                                      ContentTypeSearch.None, PrivacyFilter.None,
                                                      PhotoSearchExtras.Description | PhotoSearchExtras.LargeUrl, 1,
                                                      30);
            foreach (
                var photo in
                    photos.Select(
                        p => new SampleDataItem(p.PhotoId, p.Title, "", p.LargeUrl, p.Description, p.Description, photostreamGroup))
                )
            {
                photostreamGroup.Items.Add(photo);
            }

            photos =
                await f.PhotosGetContactsPhotosAsync(extras: PhotoSearchExtras.Description | PhotoSearchExtras.LargeUrl | PhotoSearchExtras.OwnerName);
            foreach (
                var photo in
                    photos.Select(
                        p => new SampleDataItem(p.PhotoId, p.Title, p.OwnerName, p.LargeUrl, p.Description, p.Description, contactsGroup))
                )
            {
                contactsGroup.Items.Add(photo);
            }

            photos = await f.FavoritesGetListAsync(extras: PhotoSearchExtras.Description | PhotoSearchExtras.LargeUrl | PhotoSearchExtras.OwnerName);
            foreach (
                var photo in
                    photos.Select(
                        p => new SampleDataItem(p.PhotoId, p.Title, p.OwnerName, p.LargeUrl, p.Description, p.Description, favouritesGroup))
                )
            {
                favouritesGroup.Items.Add(photo);
            }
        }