public async Task <List <SteamNewsItem> > GetNewsItems(string appId, int limit = 100, int numberOfInitialPostElementsToScan = 10, int shortDescriptionLength = 250)
        {
            IStreamNewsRepository rssRepo    = new StreamNewsRssRepository();
            IStreamNewsRepository scrapeRepo = new StreamNewsScrapeRepository();

            Task <List <SteamNewsItem> > rssTask    = rssRepo.GetNewsItems(appId, limit, numberOfInitialPostElementsToScan, shortDescriptionLength);
            Task <List <SteamNewsItem> > scrapeTask = scrapeRepo.GetNewsItems(appId, limit, numberOfInitialPostElementsToScan, shortDescriptionLength);

            List <SteamNewsItem> rssItems    = await rssTask;
            List <SteamNewsItem> scrapeItems = await scrapeTask;

            List <SteamNewsItem> results = new List <SteamNewsItem>();

            foreach (SteamNewsItem steamNewsItem in rssItems)
            {
                SteamNewsItem mergedItem = steamNewsItem;
                SteamNewsItem foundItem  = scrapeItems.FirstOrDefault(scr => scr.Link.Equals(steamNewsItem.Link));
                if (foundItem != null)
                {
                    mergedItem.UpVotes      = foundItem.UpVotes;
                    mergedItem.DownVotes    = foundItem.DownVotes;
                    mergedItem.VideoLink    = foundItem.VideoLink;
                    mergedItem.CommentCount = foundItem.CommentCount;
                }
                results.Add(mergedItem);
            }

            return(results);
        }
        public static SteamNewsItemViewModel ToViewModel(this SteamNewsItem domain)
        {
            SteamNewsItemViewModel vm = new SteamNewsItemViewModel
            {
                Name             = domain.Name,
                Link             = domain.Link,
                Image            = domain.Image,
                Date             = domain.Date,
                ShortDescription = domain.ShortDescription,
                VideoLink        = domain.VideoLink,
                UpVotes          = domain.UpVotes,
                DownVotes        = domain.DownVotes,
                CommentCount     = domain.CommentCount,
            };

            return(vm);
        }