Пример #1
0
        public Dictionary <int, Collection <String> > GetEmentaSemanal(int idU)
        {
            Connection c = new Connection();

            Utilizadores = new UtilizadorDAO(c);
            Receitas     = new ReceitaDAO(c);
            Ingredientes = new IngredienteDAO(c);
            Collection <Ingrediente> ingredientesEvitar      = Ingredientes.getEvitadosFromUtilizador(idU);
            Collection <Receita>     receitaSys              = Receitas.FindAll();
            Collection <Receita>     receitasGostos          = new Collection <Receita>();
            Dictionary <int, Collection <String> > resultado = new Dictionary <int, Collection <String> >();

            foreach (Receita r in receitaSys)
            {
                Collection <Ingrediente> ingredientes = Receitas.FindIngredientesFromReceita(r.Id);
                bool adicionar = true;
                foreach (Ingrediente i in ingredientes)
                {
                    if (!CompativeisIngredientes(i, ingredientesEvitar))
                    {
                        adicionar = false; break;
                    }
                }
                if (adicionar)
                {
                    receitasGostos.Add(r);
                }
            }

            int falta = 0;

            if ((falta = receitasGostos.Count()) == 0)
            {
                throw new System.InvalidOperationException("Change your personal preferences! There aren't any available recipes!");
            }

            /*
             * if (falta < 14)
             * {
             *  int i = 14 - falta;
             *  for (int j = 0; j < i; j++)
             *      receitasGostos.Add(receitasGostos.ElementAt(j));
             *
             * }*/

            foreach (Receita r in receitasGostos)
            {
                Collection <String> value = new Collection <String>();
                value.Add(r.Nome);
                value.Add(r.InfNutricional.ToString());
                resultado.Add(r.Id, value);
            }

            return(resultado);
        }
Пример #2
0
        public Dictionary <int, String> GetAllReceitas()
        {
            Connection c = new Connection();

            Receitas = new ReceitaDAO(c);
            Collection <Receita>     receitasSys = Receitas.FindAll();
            Dictionary <int, String> resultado   = new Dictionary <int, string>();

            foreach (Receita r in receitasSys)
            {
                String value = r.Nome + " " + r.InfNutricional.ToString() + " " + "calories";
                resultado.Add(r.Id, value);
            }

            return(resultado);
        }
Пример #3
0
        public Dictionary <int, string> GetReceitasPref(int idUtilizador)
        {
            Connection c = new Connection();

            Utilizadores = new UtilizadorDAO(c);
            Receitas     = new ReceitaDAO(c);
            Ingredientes = new IngredienteDAO(c);
            Collection <Ingrediente> ingredientesEvitar = Ingredientes.getEvitadosFromUtilizador(idUtilizador);
            Collection <Receita>     receitaSys         = Receitas.FindAll();
            Collection <Receita>     receitasGostos     = new Collection <Receita>();
            Dictionary <int, string> resultado          = new Dictionary <int, string>();

            foreach (Receita r in receitaSys)
            {
                Collection <Ingrediente> ingredientes = Receitas.FindIngredientesFromReceita(r.Id);
                bool adicionar = true;
                foreach (Ingrediente i in ingredientes)
                {
                    if (!CompativeisIngredientes(i, ingredientesEvitar))
                    {
                        adicionar = false; break;
                    }
                }
                if (adicionar)
                {
                    receitasGostos.Add(r);
                }
            }

            if (receitasGostos.Count() == 0)
            {
                throw new System.InvalidOperationException("Your loved and hated ingredientes are not compatible with no one recipe in system!");
            }

            foreach (Receita r in receitasGostos)
            {
                string value = "";
                value += r.Nome;
                value += " " + r.InfNutricional.ToString() + " calories";
                resultado.Add(r.Id, value);
            }

            return(resultado);
        }