예제 #1
0
        public IActionResult FazLogin(LoginViewModel l)
        {
            VerificaLogin(l);
            if (ModelState.IsValid == false)//caso exista algum erro no preenchimento
            {
                PreencheComboAlunoInstrutor();
                return(RedirectToAction("Index", l));
            }
            else
            {
                LoginDAO dao = new LoginDAO();

                //Consulta por meio de Function
                LoginViewModel login = dao.Consulta(l.Id, l.senha, l.Tipo);

                //Verifica se a pessoa preencheu o tipo errado
                if (login == null)
                {
                    if (l.Tipo == 'A')
                    {
                        login = dao.Consulta(l.Id, l.senha, l.Tipo = 'I');
                    }
                    else
                    {
                        login = dao.Consulta(l.Id, l.senha, l.Tipo = 'A');
                    }

                    if (login == null)
                    {
                        PreencheComboAlunoInstrutor();
                        ViewBag.Erro = "Usuário ou senha inválidos!";
                        return(View("Index", l));
                    }
                }

                //verifica se existe esse usuário e senha
                if (login.Id == l.Id && login.senha == l.senha)
                {
                    HttpContext.Session.SetString("Logado", "true");

                    //salva o Id do usuário necessário para o resto da navegação
                    HttpContext.Session.SetInt32("IdUsuario", l.Id);

                    if (login.Tipo == 'I') //o logado é um instrutor
                    {
                        ViewBag.AlunoInstrutor = "I";
                        HttpContext.Session.SetString("TipoUsuario", "I");

                        return(RedirectToAction("index", "Home"));
                    }
                    else //o logado é um aluno
                    {
                        ViewBag.AlunoInstrutor = "A";
                        HttpContext.Session.SetString("TipoUsuario", "A");

                        return(RedirectToAction("index", "Home"));
                    }
                }
                else
                {
                    ViewBag.Erro = "Usuário ou senha inválidos!";
                    PreencheComboAlunoInstrutor();
                    return(View("Index"));
                }
            }
        }