private UsuarioViewModel VerificaLoginSenha(LoginMySql objeto) { try { UsuarioViewModel retorno = null; // efetuar login UsuarioMySql busca = _usuarioMySqlRepository.ObterUsuarioLogin(new UsuarioMySql { Login = objeto.Usuario, Senha = objeto.Senha }); // objeto retorno retorno = new UsuarioViewModel { Ativo = busca.Ativo, ContaGoogle = busca.ContaGoogle, DataCriacao = busca.DataCriacao, DataEdicao = busca.DataEdicao, Id = busca.Id, Login = busca.Login, ResponsavelCriacao = busca.ResponsavelCriacao, ResponsavelEdicao = busca.ResponsavelEdicao, Senha = busca.Senha, }; if (busca == null) { return(retorno); } // comparar senha string hashGerado = CriptoHashSha256.GetSha256Hash(objeto.Senha); if (hashGerado == busca.Senha) { return(retorno); } return(retorno); } catch (Exception e) { return(null); } }
public void Adicionar(UsuarioMySqlViewModel obj, bool eContaGoogle) { obj.Senha = string.IsNullOrWhiteSpace(obj.Senha) ? Guid.NewGuid().ToString().Substring(0, 5) : obj.Senha; _usuarioMySqlRepository.Adicionar(new UsuarioMySql { Id = obj.Id, ContaGoogle = eContaGoogle, Ativo = true, DataCriacao = DateTime.Now, DataEdicao = DateTime.Now, Login = obj.Login, ResponsavelCriacao = obj.ResponsavelCriacao, ResponsavelEdicao = obj.ResponsavelEdicao, Senha = CriptoHashSha256.GetSha256Hash(obj.Senha) }); }
//add here any custom service method or override genericasync service method //... public async Task <Usuario> VerificaLoginSenha(Login login) { try { var usuario = _usuarioRepository.PegarUsuarioLogin(x => x.Login == login.Usuario); if (usuario != null) { string hashGerado = CriptoHashSha256.GetSha256Hash(login.Senha); if (hashGerado == usuario.Senha) { return(usuario); } } return(null); } catch (Exception e) { return(null); } }
public async Task <InserirSenhaResultadoViewModel> TrocarSenha(Guid idRecuperarSenha, string novaSenha) { var senha = _recuperarSenhaRepository.GetSingleOrDefault(x => x.Id == idRecuperarSenha); InserirSenhaResultadoViewModel inserirSenhaResultado = new InserirSenhaResultadoViewModel(); if (senha == null) { ExibicaoMensagemViewModel exibicaoMensagemErro = new ExibicaoMensagemViewModel() { Cabecalho = "Recuperação de senha não está válida.", MensagemCurta = "Recuperação de senha não está válida.", Detalhes = "A solicitação de senha não foi encontrada.", StatusCode = StatusCodes.Status204NoContent }; inserirSenhaResultado.Resultado = false; inserirSenhaResultado.ExibicaoMensagem = exibicaoMensagemErro; return(inserirSenhaResultado); } if (!senha.Ativo) { ExibicaoMensagemViewModel exibicaoMensagemErro = new ExibicaoMensagemViewModel() { Cabecalho = "Recuperação de senha não está válida.", MensagemCurta = "Recuperação de senha não está válida.", Detalhes = "A solicitação de senha não está ativa.", StatusCode = StatusCodes.Status400BadRequest }; inserirSenhaResultado.Resultado = false; inserirSenhaResultado.ExibicaoMensagem = exibicaoMensagemErro; return(inserirSenhaResultado); } if (senha.DataExpiracao < DateTime.Now) { ExibicaoMensagemViewModel exibicaoMensagemErro = new ExibicaoMensagemViewModel() { Cabecalho = "Recuperação de senha expirada.", MensagemCurta = "Recuperação de senha expirada.", Detalhes = "A solicitação de senha está expirada.", StatusCode = StatusCodes.Status404NotFound }; inserirSenhaResultado.Resultado = false; inserirSenhaResultado.ExibicaoMensagem = exibicaoMensagemErro; return(inserirSenhaResultado); } var usuario = _usuarioRepository.GetSingleOrDefault(x => x.Login == senha.Pessoa.Email); usuario.Senha = CriptoHashSha256.GetSha256Hash(novaSenha); senha.Ativo = false; _usuarioRepository.Update(usuario); _recuperarSenhaRepository.Update(senha); _usuarioRepository.Save(); _recuperarSenhaRepository.Save(); ExibicaoMensagemViewModel exibicaoMensagemSucesso = new ExibicaoMensagemViewModel() { Cabecalho = "Alteração de senha concluida", MensagemCurta = "Alteração de senha concluída", Detalhes = "Sua nova senha foi inserida com sucesso.", StatusCode = StatusCodes.Status200OK }; inserirSenhaResultado.Resultado = true; inserirSenhaResultado.ExibicaoMensagem = exibicaoMensagemSucesso; return(inserirSenhaResultado); }