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); }
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; } }
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)); } } }