public RecommendationsController() { _context = new ApplicationDbContext(); _calculatedRecommendations = new List <CalculatedRecommendation>(); _selectedRecommendations = new List <SelectedRecommendation>(); _calculatedRecommendation = new CalculatedRecommendation(); }
//************************************PRIVATE METHODS************************************// private void CalculateRecommendations() { var subClanRegistrations = _context.SubClanPriorityRegistrations.ToList(); var subClanRegistrationsForCurrentUSer = subClanRegistrations.Where(r => r.UserId == User.Identity.GetUserId()).ToList(); // var subClans = subClanRegistrationsForCurrentUSer.Where(r => r.SubClanId); var allItems = _context.Items.ToList(); foreach (var registration in subClanRegistrationsForCurrentUSer) { var subClanId = registration.SubClanId; var subClanItems = allItems.Where(a => a.SubClanId == subClanId).ToList(); subClanItems = subClanItems.DistinctBy(i => i.ItemName).Distinct().ToList(); foreach (var subClanItem in subClanItems) { _calculatedRecommendation = new CalculatedRecommendation() { UserId = User.Identity.GetUserId(), CalcultedWeight = (subClanItem.ItemRating * registration.PriorityLevel).Value, ItemId = subClanItem.ItemId, Item = subClanItem, SubClandId = subClanId }; // _context.CalculatedRecommendations.Add(calculatedReco); _calculatedRecommendations.Add(_calculatedRecommendation); } } // _context.SaveChanges(); }