public EstatisticaViewModel(Utilizador u)
 {
     TotalAlineasCorretas = (int)u.TotalAlineasCorretas;
     TotalAlineasErradas = (int)((int)u.TotalAlineas - (int)u.TotalAlineasCorretas);
     TotalExerciciosPositivos = (int)u.ExerciciosPositivos;
     TotalExerciciosNegativos = (int)((int)u.TotalExercicios - (int)u.ExerciciosPositivos);
 }
Exemplo n.º 2
0
        /*-------------------------------------------------------------------------------------------------*/


        /*-----------------------------------------------------------------------------------------------
          Perfil do Utilizador
        ------------------------------------------------------------------------------------------------*/
        public ActionResult Perfil()
        {
            Personalidade.FALA_ATUAL = Personalidade.PERFIL;

            user = userDAO.Utilizador.Find(user.Id);

            // Atualizar valores das métricas para o seu estado mais recente
            Metricas.TE = excDAO.Exercicio.Count();
            Metricas.TA = aulaDAO.Aula.Count();
            Metricas.TR = reiDAO.Rei.Count();

            Metricas.TER = (int)user.TotalExercicios; // ---> Apenas após resolver pela primeira vez exercício

            Metricas.TAA = (int)user.TotalAulas;      // ---> Apenas após assistir pela primeira a aula
        
            // Atualizar concreta e explicitamente o progresso geral do utilizador com sessão iniciada
            Const.ProgressoDoUtilizador = Metricas.getPGeral();

            PerfilUtilizadorViewModel pf = new PerfilUtilizadorViewModel(reiDAO);
            return View(pf);
        }
Exemplo n.º 3
0
        public ActionResult Login(Utilizador model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                user = null;
                var users = userDAO.Utilizador;

                // Verificar existência de utilizador
                foreach(Utilizador u in users){
                    if (u.Nome.Equals(model.Nome))
                    {
                        // Atualizar o ficheiro const para validar autenticação para o exterior (principalmente para acesso das scripts .css)
                        Const.isAutenticated = true;
                        Const.UserName = u.Nome;
                        user = u;
                        break;
                    }
                }        

                if (user != null)
                {
                    return RedirectToAction("Perfil");
                }
                else
                {
                    ModelState.AddModelError("", "Nome inválido.");
                }
            }

            // If we got this far, something failed, redisplay form
            return View("Login");
        }
Exemplo n.º 4
0
        public ActionResult Register(Utilizador model)
        {
            if (ModelState.IsValid)
            {
                var useraux = new Utilizador() { Nome = model.Nome, Idade = model.Idade };
                bool exists = false;
                var users = userDAO.Utilizador;

                // Verificar existência de utilizador
                foreach (Utilizador u in users)
                {
                    if (u.Nome.Equals(useraux.Nome))
                    {
                        exists = true;
                        break;
                    }
                }

                if (exists != true)
                {
                    // Inicializar parametros relativos ao utilizador
                    useraux.ProgressoGeral = 0;
                    useraux.ModoInt = 0; // super interatividade desativada por defeito
                    useraux.TotalExercicios = 0;
                    useraux.ExerciciosPositivos = 0;
                    useraux.TotalAlineas = 0;
                    useraux.TotalAlineasCorretas = 0;
                    useraux.TotalAulas = 0;

                    userDAO.Utilizador.Add(useraux);
                    
                    // Atualizar o utilizador atual em cache no controller
                    user = useraux;

                    int objetosEscritos = userDAO.SaveChanges();

                    if (objetosEscritos == 1)
                    {
                        acabadoDeRegistar = true;
                        Personalidade.FALA_ATUAL = Personalidade.APRESENTACAO;

                        Const.isAutenticated = true; // Passa automaticamente a estar autenticado
                        Const.Idade = (int)model.Idade;
                        Const.UserName = model.Nome;

                        Personalidade.PRIMEIRA_AULA = true;
                        Personalidade.PRIMEIRO_EXERCICIO = true;

                        return RedirectToAction("Definicoes", "Home");
                    }
                }
            }

            // Se chegamos aqui algo falhou, mostrar novamente formuário de registo
            return View("Register");
        }
Exemplo n.º 5
0
        public ActionResult GuardarDefinicoes(Utilizador model, string Interatividades)
        {
            try
            {
                var urentry = userDAO.Utilizador.Where(us => us.Id == user.Id).ToList();
                urentry.ForEach(us => us.ModoInt = Int32.Parse(Interatividades));
                urentry.ForEach(us => us.Nome= model.Nome);
                urentry.ForEach(us => us.Idade = model.Idade);

                userDAO.SaveChanges();

                user = userDAO.Utilizador.Find(user.Id); // Buscar dados atualizados do utilizador para variável em cache

            } catch (System.Data.SqlClient.SqlException) { }

            return RedirectToAction("Perfil");
        }