public async Task AlterarEmail(Guid id, string novoEmail) { var cliente = await ObterCliente(id, "AlterarEmail"); if (cliente == null) { return; } cliente.AlterarEmail(novoEmail); if (!ClienteValido(cliente)) { return; } var validation = new ClienteAptoParaAtualizarValidation(cliente, _clienteRepository).Validate(cliente); if (!validation.IsValid) { NotificarValidacoesErro(validation); return; } await _clienteRepository.Atualizar(cliente); await _mediator.RaiseEvent(ClienteAdapter.ToClienteEmailAlteradoEvent(cliente)); }
public async Task Atualizar(Cliente cliente) { if (!ClienteValido(cliente)) { return; } var validation = new ClienteAptoParaAtualizarValidation(cliente, _clienteRepository).Validate(cliente); if (!validation.IsValid) { NotificarValidacoesErro(validation); return; } await _clienteRepository.Atualizar(cliente); await _mediator.RaiseEvent(ClienteAdapter.ToClienteAtualizadoEvent(cliente)); }
public async Task AlterarSenha(Guid id, string senhaAtual, string novaSenha, bool ignorarSenhaAtual = false) { var cliente = await ObterCliente(id, "AlterarSenha"); if (cliente == null) { return; } if (!ignorarSenhaAtual) { if (!ClienteSenha.VerificarSenha(senhaAtual, cliente.Senha)) { NotificarErro("AlterarSenha", "A senha atual do cliente está incorreta."); return; } } cliente.AlterarSenha(ClienteSenha.Factory.NovaSenha(novaSenha)); if (!ClienteValido(cliente)) { return; } var validation = new ClienteAptoParaAtualizarValidation(cliente, _clienteRepository).Validate(cliente); if (!validation.IsValid) { NotificarValidacoesErro(validation); return; } await _clienteRepository.Atualizar(cliente); await _mediator.RaiseEvent(new ClienteSenhaAlteradaEvent(cliente.Id)); }