public BLLResponse <Usuario> UpdatePassword(Usuario usuario, string senhaAntiga) { BLLResponse <Usuario> response = new BLLResponse <Usuario>(); using (LTContext ctx = new LTContext()) { Usuario userDoDb = ctx.Usuarios.Find(usuario.ID); bool EhSenhaAntiga = Criptografia.Verificar(senhaAntiga, userDoDb.Salt, userDoDb.Hash); if (!EhSenhaAntiga) { response.Mensagem = "Senha atual incorreta."; return(response); } if (userDoDb == null) { response.Mensagem = "Algo de errado ocorreu."; return(response); } else { userDoDb.Senha = usuario.Senha; Criptografia.EncriptografarEGuardarSalt(userDoDb); ctx.SaveChanges(); response.Sucesso = true; response.Mensagem = "Senha atualizada com sucesso!"; response.Data = userDoDb; return(response); } } }
public BLLResponse <Usuario> IsLoginValido(Usuario item) { BLLResponse <Usuario> response = new BLLResponse <Usuario>(); response.Erros = new List <ErrorField>(); using (LTContext ctx = new LTContext()) { Usuario userDoBanco = ctx.Usuarios.FirstOrDefault(u => u.Email == item.Email); if (userDoBanco == null) { response.Erros.Add(new ErrorField(fieldName: nameof(userDoBanco.Email), message: MensagensPadrao.UserOuSenhaInvalidosMessage())); return(response); } response.Sucesso = Criptografia.Verificar(item.Senha, userDoBanco.Salt, userDoBanco.Hash); if (response.Sucesso) { response.Data = userDoBanco; } } return(response); }