コード例 #1
0
        public async Task <NewsFeedResponse> InsertNewsFeedQuery(IDbConnection db, NewsFeedInsertRequest newsFeed)
        {
            NewsFeedResponse newsFeedItem = await db.QueryFirstOrDefaultAsync <NewsFeedResponse>(
                sql : "[Houses].[NewsFeeds_Insert]",
                commandType : CommandType.StoredProcedure,
                param : newsFeed
                );

            return(newsFeedItem);
        }
コード例 #2
0
ファイル: Synchronizer.cs プロジェクト: clarkezone/spectro
        private async Task ProcessFeedUpdates(NewsFeedResponse results)
        {
            _dataCacheService.BeginWrite();

            foreach (var item in results.Feeds)
            //foreach (var item in results.feeds.FeedItems.Where(t => t.properties.feed_title == "AnandTech"))
            {
                //TODO: dependency inject the realmness
                var thisFeed = (await _dataCacheService.GetNewsFeeds(fe => fe.Id == item.Id)).FirstOrDefault();
                if (thisFeed == null)
                {
                    try
                    {
                        Debug.WriteLine(item.LastStoryDate);
                        thisFeed = new NewsFeed()
                        {
                            Id      = item.Id,
                            FeedUri = item.FeedAddress,
                            Title   = item.FeedTitle,
                            IconUri = item.FaviconUrl,
                            Active  = item.Active,
                            LastStoryDateFromService = !string.IsNullOrEmpty(item.LastStoryDate) ? DateTimeOffset.Parse(item.LastStoryDate) : DateTimeOffset.MinValue
                        };

                        _dataCacheService.AddFeed(thisFeed);
                    }
                    catch (Exception ex)
                    {
                        Debug.WriteLine(ex.Message);
                    }
                }
                else
                {
                    if (item.LastStoryDate != null)
                    {
                        thisFeed.LastStoryDateFromService = DateTimeOffset.Parse(item.LastStoryDate);
                    }
                }

                //thisFeed.UnreadCount = DataModelManager.RealmInstance.All<Story>().Where(st => st.ReadStatus == 0 && st.FeedId == thisFeed.Id).Count();
            }

            _dataCacheService.Commit();
        }
コード例 #3
0
ファイル: FeedsTests.cs プロジェクト: clarkezone/spectro
        public async Task GetFeedsPopulatesFeeds()
        {
            NewsFeedResponse feeds = await _subject.GetFeedsAsync();

            Assert.NotNull(feeds);
        }