public WeightReturner CheckWeight(List <RecommendationWeight> weights, int CategoryID, int GenreID) { WeightReturner weightReturner = new WeightReturner(); for (int i = 0; i < weights.Count; i++) { if (CategoryID == 1 && weights[i].CategoryID == CategoryID) { weightReturner.hasCategory = true; if (GenreID != 0) { weightReturner.hasGenre = true; } else { weightReturner.hasGenre = false; } weightReturner.ArrayLocation = i; return(weightReturner); } else if (weights[i].CategoryID == CategoryID) { weightReturner.hasCategory = true; weightReturner.hasGenre = false; weightReturner.ArrayLocation = i; return(weightReturner); } } weightReturner.hasCategory = false; return(weightReturner); }
public List <RecommendationWeight> Weights(List <UserHistory> History) { List <RecommendationWeight> weightList = new List <RecommendationWeight>(); WeightReturner weightReturner = new WeightReturner(); for (int i = 0; i < History.Count; i++) { weightReturner = CheckWeight(weightList, History[i].CategoryID, History[i].GenreID); if (weightReturner.hasCategory && weightReturner.hasGenre) { weightList[weightReturner.ArrayLocation].Weight++; } else if (weightReturner.hasCategory && History[i].CategoryID == 1 && !weightReturner.hasGenre) { RecommendationWeight recommendationWeight = new RecommendationWeight { CategoryID = History[i].CategoryID, Weight = 1, GenreID = History[i].GenreID }; weightList.Add(recommendationWeight); } else if (weightReturner.hasCategory && !weightReturner.hasGenre) { weightList[weightReturner.ArrayLocation].Weight++; } else { RecommendationWeight recommendationWeight = new RecommendationWeight { CategoryID = History[i].CategoryID, Weight = 1, GenreID = 0 }; weightList.Add(recommendationWeight); } } return(weightList); }