public IEnumerable <MostPopularRecommendation> GetRecommendations(IInputForUser userRatings, int numRecommendationsToTryToGet)
        {
            List <MostPopularRecommendation> recs = new List <MostPopularRecommendation>();

            for (int i = 0; recs.Count < numRecommendationsToTryToGet && i < m_numRatingsForEachItem.Count; i++)
            {
                if (userRatings.ItemIsOkToRecommend(m_numRatingsForEachItem[i].Item1))
                {
                    recs.Add(new MostPopularRecommendation(m_numRatingsForEachItem[i].Item1, popularityRank: i + 1,
                                                           numRatings: m_numRatingsForEachItem[i].Item2));
                }
            }
            return(recs);
        }
        public IEnumerable <AverageScoreRecommendation> GetRecommendations(IInputForUser userRatings, int numRecommendationsToTryToGet)
        {
            List <AverageScoreRecommendation> recs = new List <AverageScoreRecommendation>();

            for (int i = 0; recs.Count < numRecommendationsToTryToGet && i < m_itemIdNumRatingsAndAverage.Count; i++)
            {
                if (userRatings.ItemIsOkToRecommend(m_itemIdNumRatingsAndAverage[i].Item1))
                {
                    recs.Add(new AverageScoreRecommendation(
                                 itemId: m_itemIdNumRatingsAndAverage[i].Item1,
                                 numRatings: m_itemIdNumRatingsAndAverage[i].Item2,
                                 averageScore: m_itemIdNumRatingsAndAverage[i].Item3)
                             );
                }
            }

            return(recs);
        }