public override TUserData GetCurrentUser <TUserData>()
        {
            if (!IsCurrentUserAuthorized())
            {
                return(null);
            }

            var redditApiClient = new RedditApiClient(AccessToken);

            var redditAcct = redditApiClient.MyAccount();
            var user       = new RedditUserData()
            {
                FirstName   = "Reddit",
                LastName    = "User",
                DisplayName = redditAcct.Name,
                Email       = $"{redditAcct.Name}@reddit.com",
                Id          = redditAcct.Id,
                Roles       = new NameValueCollection(),
            };

            if (redditAcct.IsModerator)
            {
                user.Roles.Add("Moderator", "Moderator");
            }

            return(user as TUserData);
        }
Пример #2
0
        private async void Refresh()
        {
            try
            {
                Refreshing = true;

                LinkListing = await RedditApiClient.Top();

                Links.Clear();
                foreach (var link in LinkListing.Links)
                {
                    Links.Add(new RedditLinkViewModel(link));
                }
            }
            finally
            {
                Refreshing = false;
            }
        }
Пример #3
0
        public async Task GetData()
        {
            //ToDo add Akavache Caching
            var apiClient = new RedditApiClient();

            string lastPost = "";

            if (RedditPosts != null && RedditPosts.Count > 0)
            {
                lastPost = RedditPosts.Last().Name;
            }

            //Get reddit posts starting from last post name (name=id)
            var redditPostsDTOs = await apiClient.GetRedditPosts(MAX_LIST_VALUE, lastPost);

            foreach (var redditPostDTO in redditPostsDTOs)
            {
                //Add items to UI list until MAX value is reached. To fetch new items, dismiss posts from UI.
                if (RedditPosts.Count < MAX_LIST_VALUE)
                {
                    RedditPosts.Add(new RedditPostViewModel(redditPostDTO));
                }
            }
        }