public ViewResult PopularItemsByRating(menu menu) { UserIM uim = new UserIM(db); TableIM im = new TableIM(db); ReportsIM rim = new ReportsIM(db); MenuItemIM miIM = new MenuItemIM(db); user authUser = Util.User.UserUtil.getAuthenticatedUser(Request); if (authUser == null) { return View("LogOn", "User"); } user dbUser = uim.find(authUser.id); int t_id = (int)dbUser.current_table_id; restaurant r = db.tables.Find(t_id).restaurant; IEnumerable<MostPopularDishViewModel> mostPopular = rim.findMostPopularCustomer(r); List<KeyValuePair<TouchForFood.Models.menu_item, double>> list = new List<KeyValuePair<TouchForFood.Models.menu_item, double>>(); foreach(var dish in mostPopular){ menu_item mi = miIM.find(dish.menuItemId); list.Add(new KeyValuePair<menu_item,double>(mi,ItemUtil.getAverageRating(mi))); } list.Sort((firstPair, nextPair) => { return nextPair.Value.CompareTo(firstPair.Value); } ); ViewBag.Suggest = "Items are ranked according to rating."; return View("SuggestedByRating", list); }
public ViewResult PopularItems() { UserIM uim = new UserIM(db); TableIM im = new TableIM(db); ReportsIM rim = new ReportsIM(db); MenuItemIM miIM = new MenuItemIM(db); user authUser = Util.User.UserUtil.getAuthenticatedUser(Request); if (authUser == null) { return View("LogOn", "User"); } user dbUser = uim.find(authUser.id); int t_id = (int)dbUser.current_table_id; restaurant r = db.tables.Find(t_id).restaurant; IEnumerable<MostPopularDishViewModel> mostPopular = rim.findMostPopularCustomer(r); List<KeyValuePair<TouchForFood.Models.menu_item, int>> list = new List<KeyValuePair<TouchForFood.Models.menu_item, int>>(); foreach(var dish in mostPopular){ menu_item mi = miIM.find(dish.menuItemId); list.Add(new KeyValuePair<menu_item,int>(mi,dish.timesOrdered)); } ViewBag.Suggest = "Items are ranked according to the number of times they have been ordered."; return View("SuggestedItems", list); }