Пример #1
0
        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;
 }