public async Task <ICommandResult> Handle(RemoverFuncionarioCommand command, CancellationToken cancellationToken) { var result = new CommandResult(true, "Não foi possível atualizar Funcionário!"); if (!command.IsValid()) { return(result.AddNotifications("Dados Inválidos")); } try { var funcionario = service.BuscarPorId(command.Id); if (funcionario == null) { return(result.AddNotifications("Funcionário não cadastrado")); } service.Remover(funcionario); } catch (Exception ex) { return(new CommandResult(false, $"Ocorreu um erro ao remover Funcionário. Erro.: {ex.Message}")); } // Invocar eventos if (!await service.SaveChanges()) { return(result); } return(new CommandResult(true, "Funcionário removido com sucesso!")); }