Exemplo n.º 1
0
        public IActionResult Login([FromBody] MLogin login)
        {
            var person = _bPerson.SearchForPerson(login);

            if (person == null)
            {
                return(BadRequest(ResponseContent.Create(null, HttpStatusCode.BadRequest, "E-mail e/ou senha incorreto(s)!")));
            }

            var passwordRecoveryRequest = _uRecoveryPassword.GetUserCurrentActive(person.Id);

            if (passwordRecoveryRequest != null)
            {
                passwordRecoveryRequest.CancelationDate = DateTime.Now;
                passwordRecoveryRequest.Active          = false;
                _bPasswordRecovery.Update(passwordRecoveryRequest);
                _bHistory.SaveHistory(person.Id, "Usuário cancelou uma solicitação de recuperação da senha através do login");
            }

            HttpContext.Session.Authenticate(person);
            var res = person.Profile == (int)EProfile.Teacher ? "/teacher" : "/student";

            _bHistory.SaveHistory(person.Id, "Usuário autenticou no sistema");

            return(Ok(ResponseContent.Create(res, HttpStatusCode.OK, null)));
        }