Exemple #1
0
        public void SetPreferencesUtilizador(int id, Collection <Int32> gostos, Collection <Int32> naogostos)
        {
            Connection c = new Connection();

            Utilizadores = new UtilizadorDAO(c);
            Ingredientes = new IngredienteDAO(c);

            if (!CheckAmbiguidade(gostos, naogostos))
            {
                throw new System.InvalidOperationException("You have incompatible preferences! Plese try again.");
            }

            Collection <Ingrediente> gostosI    = new Collection <Ingrediente>();
            Collection <Ingrediente> naogostosI = new Collection <Ingrediente>();

            foreach (int i in gostos)
            {
                gostosI.Add(Ingredientes.FindById(i));
            }

            foreach (int j in naogostos)
            {
                naogostosI.Add(Ingredientes.FindById(j));
            }

            Utilizadores.AtualizaPreferencias(id, gostosI, naogostosI);
        }
Exemple #2
0
        public bool SetUserInfo(int id, string username, string password)
        {
            Connection c = new Connection();

            Utilizadores = new UtilizadorDAO(c);
            // Encontra o utilizador através do seu username
            Utilizador updated = Utilizadores.FindById(id);

            if (username != null)
            {
                if (Utilizadores.FindByUsername(username) == true)
                {
                    throw new InvalidOperationException("There already exists a user with the same username!");
                }
                else
                {
                    updated.Username = username;
                }
            }
            if (password != null)
            {
                updated.Password = password;
            }

            return(Utilizadores.Update(updated));
        }
Exemple #3
0
        public ActionResult Register(Utilizador smodel)
        {
            IConnection connection = new Connection();

            connection.Fetch();

            try
            {
                if (ModelState.IsValid)
                {
                    Utilizador        u    = new Utilizador();
                    IDAO <Utilizador> uDAO = new UtilizadorDAO(connection);
                    byte[]            fot  = ImageToBinary(smodel.ImageUpload);


                    smodel.Foto = fot;
                    uDAO.Insert(smodel);

                    return(RedirectToAction("Index"));
                }
                return(View());
            }
            catch (Exception e)
            {
                string message = e.Message; // or using e.InnerException.Message
                Console.WriteLine("{0} Exception caught.", e);
            }
            Console.WriteLine("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
            return(View());
        }
Exemple #4
0
 public void RemoveUser(string email, char type)
 {
     lock (utilizadoresDAO)
     {
         UtilizadorDAO.RemoveUser(email, type);
     }
 }
Exemple #5
0
        /**
         * GetDetalhes() 25/25
         *
         * Retorna as dificuldades dado uma receita e um user.
         */
        public Collection <string> GetDificuldadesFromReceita(int idUtilizador, int idReceita)
        {
            Connection c = new Connection();

            Utilizadores = new UtilizadorDAO(c);
            Collection <string> res = Utilizadores.GetDificuldadesFromReceita(idUtilizador, idReceita);

            return(res);
        }
Exemple #6
0
        // 3. ************* EDIT User DETAILS ******************
        // GET: User/Edit/5
        public ActionResult Edit(int id)
        {
            IConnection connection = new Connection();

            connection.Fetch();
            IDAO <Utilizador> uDAO = new UtilizadorDAO(connection);

            return(View(uDAO.FindById(1)));
        }
Exemple #7
0
        public bool UserExists(string username)
        {
            Connection connection = new Connection();

            Utilizadores = new UtilizadorDAO(connection);

            bool resultado = Utilizadores.VerificaUser(username);

            return(resultado);
        }
Exemple #8
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);
        }
Exemple #9
0
        // 1. *************RETRIEVE ALL User DETAILS ******************
        // GET: User
        public ActionResult Index()
        {
            IConnection connection = new Connection();

            connection.Fetch();

            IDAO <Utilizador> uDAO = new UtilizadorDAO(connection);

            ModelState.Clear();
            return(View(uDAO.ListAll()));
        }
Exemple #10
0
        public bool AddUtilizador(int id, string username, string password, string nome,
                                  string email, bool tipo)
        {
            Utilizador u          = new Utilizador(id, username, password, nome, email, tipo);
            Connection connection = new Connection();

            Utilizadores = new UtilizadorDAO(connection);
            if (Utilizadores.FindByUsername(username) == true)
            {
                throw new System.InvalidOperationException("Already exists a same username... Try other!");
            }
            return(Utilizadores.Insert(u));
        }
Exemple #11
0
        public int returnUtilizador(string username)
        {
            Connection connection = new Connection();

            Utilizadores = new UtilizadorDAO(connection);
            try
            {
                int id = Utilizadores.FindIDByUsername(username);
                return(id);
            } catch (InvalidOperationException)
            {
                throw new InvalidOperationException("Utilizador não existe!");
            }
        }
Exemple #12
0
 public ActionResult Edit(int id, Utilizador smodel)
 {
     try
     {
         IConnection connection = new Connection();
         connection.Fetch();
         IDAO <Utilizador> uDAO = new UtilizadorDAO(connection);
         uDAO.Update(Convert.ToString(id), smodel);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Exemple #13
0
        public string Login(string username, string password)
        {
            Connection connection = new Connection();

            Utilizadores = new UtilizadorDAO(connection);
            try
            {
                string tipo = Utilizadores.Login(username, password);
                return(tipo);
            }
            catch (InvalidOperationException e)
            {
                throw new System.InvalidOperationException("The password is incorrect! Please, try again.");
            }
        }
Exemple #14
0
        /**
         * destivaUser() 23/25
         *
         * Desativa um utilizador.
         */

        /**
         * getHistorico(int idCliente) 24/25
         *
         * Retorna um historico com o nome da receita e os dados do historico.
         */
        public Dictionary <int, string> GetHistorico(int idCliente)
        {
            Connection c = new Connection();

            Utilizadores = new UtilizadorDAO(c);
            Collection <Historico>   hist      = Utilizadores.GetHistorico(idCliente);
            Dictionary <int, string> resultado = new Dictionary <int, string>();

            foreach (Historico h in hist)
            {
                string value = h.NomeReceita;
                value += " | " + h.Quantas + "times | " + h.TempoMedio;
                resultado.Add(h.IdReceita, value);
            }
            return(resultado);
        }
Exemple #15
0
 // 4. ************* DELETE User DETAILS ******************
 // GET: User/Delete/5
 public ActionResult Delete(int id)
 {
     try
     {
         IConnection connection = new Connection();
         connection.Fetch();
         IDAO <Utilizador> uDAO = new UtilizadorDAO(connection);
         if (uDAO.remove(Convert.ToString(id)))
         {
             ViewBag.AlertMsg = "User Deleted Successfully";
         }
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Exemple #16
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);
        }
Exemple #17
0
 public UtilizadorRN()
 {
     daoUtilizador = new UtilizadorDAO();
 }