public ActionResult SavedRecommendations() { var loggedUserId = Int32.Parse(User.Identity.GetUserId()); var recs = db.Recommendations.Where(r => r.UserId == loggedUserId).Select(r => r.Id).ToList(); var recsRVM = RecommendationExtractorService.getRecommendationVMListByIdList(recs, true); ViewBag.recommendationList = recsRVM; return(View()); }
public ActionResult Result(int specializationId, double Startgrade, string iii = "", string Governorate = "", double Fees = 0, string course = "") { var bb = iii.Split(','); var interstids = new List <int>(); if (iii.Length > 0) { foreach (var b in bb) { interstids.Add(Int32.Parse(b)); } } var cc = course.Split(','); var courseids = new List <int>(); if (course.Length > 0) { foreach (var c in cc) { courseids.Add(Int32.Parse(c)); } } var courseList = db.Courses.Where(r => courseids.Contains(r.Id)).ToList(); var interestList = db.Interests.Where(a => interstids.Contains(a.Id)).ToList(); var result = db.Tansiq.Where(a => a.SpecializationId == specializationId && a.Startgrade <= Startgrade).ToList(); if (interestList.Count > 0) { result = result.Where(r => r.Division.Interests.Intersect(interestList).Any()).ToList(); } if (courseList.Count > 0) { result = result.Where(n => n.Division.Courses.Intersect(courseList).Any()).ToList(); } if (Governorate != "" && Governorate != null) { result = result.Where(n => n.Division.Faculty.University.Governorate == Governorate).ToList(); } if (Fees > 0) { result = result.Where(n => n.Division.Fees >= Fees).ToList(); } SearchHistory searchHistory = new SearchHistory() { Governorate = Governorate, SpecializationId = specializationId, Grade = Startgrade, Timestamp = DateTime.Now, Interests = interestList }; db.SearchHistories.Add(searchHistory); db.SaveChanges(); foreach (var x in result) { db.Recommendations.Add(new Recommendation { SearchHistoryId = searchHistory.Id, DivisionId = x.Division.Id }); } db.SaveChanges(); var recIds = db.Recommendations.Where(r => r.SearchHistoryId == searchHistory.Id).Select(r => r.Id).ToList(); List <ResultViewModel> Results = RecommendationExtractorService.getRecommendationVMListByIdList(recIds); return(View(Results)); }