private async Task LoadLikesFromStars() { try { var d = new Dictionary<string, StumbledRepository>(Account.StumbledRepositories.Count()); foreach (var r in Account.StumbledRepositories) if (!d.ContainsKey(r.Fullname.ToLower())) d.Add(r.Fullname.ToLower(), r); var repos = await Client.Activity.Starring.GetAllForCurrent(); foreach (var x in repos) { StumbledRepository repository; if (!d.TryGetValue(x.FullName.ToLower(), out repository)) { var newRepo = new StumbledRepository { Name = x.Name, Owner = x.Owner.Login, Fullname = x.FullName, Description = x.Description, Stars = x.StargazersCount, Forks = x.ForksCount, ImageUrl = x.Owner.AvatarUrl, Liked = true, ShowInHistory = false }; Account.StumbledRepositories.Insert(newRepo); _stumbledRepositories.OnNext(newRepo); } else { if (!string.Equals(repository.ImageUrl, x.Owner.AvatarUrl, StringComparison.InvariantCultureIgnoreCase)) { repository.ImageUrl = x.Owner.AvatarUrl; Account.StumbledRepositories.Update(repository); } } } } catch (Exception e) { Console.WriteLine("Unable to get likes from stars: " + e.Message); } }
protected void Reset() { Readme = null; Liked = null; Repository = null; ContributorCount = null; StumbledRepository = null; }