Esempio n. 1
0
        public async Task <GitHub.Feed> GetFeed(string User)
        {
            Debug.WriteLine($"AlphaDomain::GetFeed({User}); ");
            var result = default(GitHub.Feed);

            lock (FeedCache)
            {
                if (FeedCache.TryGetValue(User, out result))
                {
                    Debug.WriteLine($"AlphaDomain::GetFeed({User}): Hit Cache; ");
                    return(result);
                }
            }
            SetFeed
            (
                User,
                result = GitHub.ParseFeed
                         (
                    await GetByteArrayFromUrlAsync
                    (
                        GitHub.GetAtomUrl(User)
                    )
                         )
            );
            return(result);
        }
Esempio n. 2
0
        private async Task UpdateLastPublicActivityCoreAsync(string User)
        {
            var Feed = GitHub.ParseFeed
                       (
                await GetByteArrayFromUrlAsync
                (
                    GitHub.GetAtomUrl(User)
                )
                       );

            SetFeed
            (
                User,
                Feed
            );
            var LastPublicActivity = Feed.EntryList
                                     .Where(i => i.IsContribution)
                                     .Select(i => i.Updated)
                                     .FirstOrDefault();

            if (!LastPublicActivity.IsDefault())
            {
                SetLastPublicActivity
                (
                    User,
                    Feed.EntryList
                    .Where(i => i.IsContribution)
                    .Select(i => i.Updated)
                    .FirstOrDefault()
                );
            }
        }