public int RefreshOutdatedBoardGameGeekData(int daysOutdated, int? maxElementsToUpdate)
{
var outdatedDate = DateTime.UtcNow.AddDays(-1 * daysOutdated);
var query = _dataContext.GetQueryable<BoardGameGeekGameDefinition>()
.Include(g => g.Categories)
.Include(g => g.Mechanics)
.Where(g => g.DateUpdated < outdatedDate);
if (maxElementsToUpdate.HasValue)
{
query = query.Take(maxElementsToUpdate.Value);
}
var bggGamesToUpdate = query.OrderBy(x => x.DateUpdated).ToList();
var totalGamesUpdated = UpdateBoardGameGeekDefinitions(bggGamesToUpdate);
return totalGamesUpdated;
}