public IActionResult Random() { var claim = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Sid); int idUser = int.Parse(claim.Value); RecipeDAO dao = new RecipeDAO(); List <Recipe> recipe = dao.LoadRecipes(); int RandomNumber(int min, int max) { Random random = new Random(); return(random.Next(min, max)); } int numero = RandomNumber(0, recipe.Count); List <Recipe> receitas = dao.getFavorites(idUser); ViewBag.Boolean = false; foreach (Recipe recp in receitas) { if (recp.Id_Recipe == numero) { ViewBag.Boolean = true; break; } } Recipe r = dao.FindById(recipe.ElementAt(numero).Id_Recipe); ViewBag.image = r.GetImage(); return(View(r)); }
public IActionResult Search(string words) { RecipeDAO dao = new RecipeDAO(); List <Recipe> result; if (words == null || words.Equals("")) { result = dao.LoadRecipes(); } else { List <string> l_words = words.Split(' ').ToList(); result = dao.searchByWords(l_words); } var claim = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Sid); int idUser = int.Parse(claim.Value); Dictionary <int, float> rating = dao.allRatings(); ViewBag.Ratings = rating; List <Recipe> receitas = dao.getFavorites(idUser); List <int> favoritos = new List <int>(); foreach (Recipe recp in receitas) { favoritos.Add(recp.Id_Recipe); } ViewBag.Favorites = favoritos; return(View(result)); }
public IActionResult Index() { var claim = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Sid); int idUser = int.Parse(claim.Value); RecipeDAO dao = new RecipeDAO(); UserDAO daou = new UserDAO(); Utilizador u = daou.FindById(idUser); List <Recipe> recipes = dao.LoadRecipeByType(u.Preferencia); Dictionary <int, float> rating = dao.allRatings(); List <KeyValuePair <int, float> > sortingDic = rating.ToList(); sortingDic.Sort((pair1, pair2) => pair2.Value.CompareTo(pair1.Value)); List <Recipe> cardRecipes = new List <Recipe>(); foreach (KeyValuePair <int, float> pairs in sortingDic.Take(2)) { cardRecipes.Add(dao.FindById(pairs.Key)); } List <Recipe> aux = dao.LoadRecipes(); foreach (Recipe t in cardRecipes) { bool flag = aux.Remove(t); Console.WriteLine(flag); } Random rnd = new Random(); for (int i = 0; i < 2; i++) { if (aux.Count > 0) { int rand = rnd.Next(aux.Count); Recipe t = aux[rand]; cardRecipes.Add(t); aux.Remove(t); } } List <Recipe> receitas = dao.getFavorites(idUser); List <int> favoritos = new List <int>(); foreach (Recipe recp in receitas) { favoritos.Add(recp.Id_Recipe); } ViewBag.Favorites = favoritos; ViewBag.Ratings = rating; ViewBag.CardRecipe = cardRecipes; return(View(recipes)); }
public IActionResult Favorites() { var claim = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Name); string username = claim.Value; UserDAO dao = new UserDAO(); Utilizador user = dao.FindByUsername(username); RecipeDAO rdao = new RecipeDAO(); List <Recipe> favoritos = rdao.getFavorites(user.Id_utilizador); ViewBag.User = user; ViewBag.Favoritos = favoritos; return(View()); }
public IActionResult Details(int id) { var claim = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Sid); int idUser = int.Parse(claim.Value); UserDAO daou = new UserDAO(); Utilizador u = daou.FindById(idUser); RecipeDAO dao = new RecipeDAO(); Recipe recipe; if (u.Type == 1) { recipe = dao.FindByIdAdmin(id); ViewBag.Admin = true; } else { recipe = dao.FindById(id); ViewBag.Admin = false; } if (recipe == null) { return(RedirectToAction("Index", "User")); } List <Recipe> receitas = dao.getFavorites(idUser); ViewBag.Boolean = false; foreach (Recipe recp in receitas) { if (recp.Id_Recipe == id) { ViewBag.Boolean = true; break; } } ViewBag.image = recipe.GetImage(); int ativo = dao.IsActive(id); ViewBag.Teste = ativo; return(View(recipe)); }