Example #1
0
        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));
        }
Example #2
0
        public ActionResult Random(int rid, string rdata)
        {
            RecipeDAO     dao     = new RecipeDAO();
            List <Recipe> recipes = dao.LoadRecipeByType(rid);
            Random        rnd     = new Random();
            List <Recipe> r_menu  = new List <Recipe>();

            for (int i = 0; i < 14; i++)
            {
                int rand = rnd.Next(recipes.Count);
                r_menu.Add(recipes[rand]);
            }

            DateTime parsedDate = DateTime.Parse(rdata);

            var claim  = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Sid);
            int idUser = int.Parse(claim.Value);

            MenuDAO daoM = new MenuDAO();

            daoM.Insert(parsedDate, r_menu, idUser);

            return(RedirectToAction("Index", "Menu"));
        }