コード例 #1
0
        public async Task <ActionResult <Usuario> > ResetPassword(ResetSenha email)
        {
            var user = await usuariorep.ExistEmail(email.Email);

            if (user == null)
            {
                return(StatusCode(404, "Email não cadastrado"));
            }

            user.Senha = user.Nome.Replace(" ", "").ToLower();

            var sucess = await usuariorep.Put(user);

            if (sucess == null)
            {
                return(StatusCode(400));
            }

            try
            {
                usuariorep.Mensagem(user.Email, user.Senha);
                return(StatusCode(200, "Senha atualizada. Email enviado com sucesso"));
            }
            catch (System.Exception)
            {
                return(StatusCode(200, "Senha atualizada. Falha ao enviar o email"));

                throw;
            }
        }
コード例 #2
0
        public async Task <ActionResult <Usuario> > ChangeToAd(ResetSenha email)
        {
            var user = await usuariorep.ExistEmail(email.Email);

            // var user = await usuariorep.Get(id);

            if (user == null)
            {
                return(StatusCode(404, "Esse usuário não existe"));
            }

            TipoUsuarioRepositorio tipouser = new TipoUsuarioRepositorio();

            var tipo = await tipouser.Get(user.TipoUsuarioId);

            if (tipo.Titulo == "Comunidade")
            {
                return(StatusCode(403, "Essa operação não é possivel"));
            }

            if (tipo.Titulo == "Funcionario")
            {
                var put = await tipouser.Get("Administrador");

                user.TipoUsuarioId = put.TipoUsuarioId;

                return(await usuariorep.Put(user));
            }
            else
            {
                return(user);
            }
        }
コード例 #3
0
ファイル: EmailService.cs プロジェクト: rfabais/PortuLibras
        public Retorno ValidaTokenEmail(ResetSenha resetSenha)
        {
            //busca usuario por email e username
            var usuario = BuscaUsuario(new UsuarioDTO()
            {
                Email = resetSenha.Email
            });

            //verifica se email existe
            if (usuario == null)
            {
                return(new Retorno()
                {
                    Codigo = 400, Mensagem = "Email não encontrado."
                });
            }

            //busca token do usuario
            var tokenEmail = BuscarTokenEmail(new TokenEmailDTO()
            {
                CodigoUsuario = usuario.CodigoUsuario
            });

            //verifica existencia do token
            if (tokenEmail == null)
            {
                return(new Retorno()
                {
                    Codigo = 400, Mensagem = "Falha ao recuperar o código de reset de senha, por favor gere o código de reset de senha novamente"
                });
            }

            //verifica se token de reset de senha está correto
            if (tokenEmail.Token != resetSenha.CodigoReset)
            {
                return(new Retorno()
                {
                    Codigo = 400,
                    Mensagem = "Código de reset de senha errado"
                });
            }

            //verifica se a data do token de reset de senha esta valida
            if (!VerificaDataValida(tokenEmail))
            {
                return(new Retorno()
                {
                    Codigo = 400,
                    Mensagem = "Código de reset de senha expirado, por favor realize a solicitação do código de reset de senha novamente"
                });
            }

            return(new Retorno()
            {
                Codigo = 200,
                Mensagem = "Código de reset de senha correto",
            });
        }
コード例 #4
0
 public IActionResult Create([FromBody] ResetSenha resetSenha)
 {
     if (resetSenha == null)
     {
         return(BadRequest());
     }
     _repo.Add(resetSenha);
     return(CreatedAtRoute("GetResetSenha", new { id = resetSenha.Id }, resetSenha));
 }
コード例 #5
0
 public IActionResult ValidaTokenEmail([FromBody] ResetSenha resetSenha)
 {
     try
     {
         return(Content(JsonConvert.SerializeObject(service.ValidaTokenEmail(resetSenha)), new MediaTypeHeaderValue("application/json").ToString()));
     }
     catch (Exception ex)
     {
         return(Content(JsonConvert.SerializeObject(ExceptionHandler.HandleException(ex)), new MediaTypeHeaderValue("application/json").ToString()));
     }
 }
コード例 #6
0
        public IActionResult Update(int id, [FromBody] ResetSenha resetSenha)
        {
            if (resetSenha == null || id != resetSenha.Id)
            {
                return(BadRequest());
            }
            var _resetSenha = _repo.Find(id);

            if (_resetSenha == null)
            {
                return(NotFound());
            }

            _repo.Update(_resetSenha);

            return(new NoContentResult());
        }
コード例 #7
0
 public void Update(ResetSenha resetSenha)
 {
     _context.ResetSenha.Update(resetSenha);
     _context.SaveChanges();
 }
コード例 #8
0
 public void Add(ResetSenha resetSenha)
 {
     _context.ResetSenha.Add(resetSenha);
     _context.SaveChanges();
 }