/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package socius.telas.cadastro;
import java.net.URL;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Dialogs;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
import socius.telas.util.DadosGlobais;
import socius.modelo.Usuario;
import socius.app.ClientBoot;
import socius.telas.util.CadastroHandler;
/**
* FXML Controller class
*
* @author Ana
*/
public class CadastroController implements Initializable {
/**
* Initializes the controller class.
*
*/
@FXML
private Label boasVindas;
@FXML
private TextField sobrenome;
@FXML
private TextField nome;
@FXML
private TextField usuario;
@FXML
private TextField senha;
@FXML
private TextField confirma;
@FXML
public void cancelAction(ActionEvent e) {
clear();
Stage stage = (Stage) confirma.getScene().getWindow();
stage.close();
//retorno login
voltarLogin();
}
public void clear() {
sobrenome.clear();
nome.clear();
usuario.clear();
senha.clear();
confirma.clear();
}
public void voltarLogin() {
try {
ClientBoot redirect = DadosGlobais.getInstance().getRedirect();
redirect.telaLogin();
redirect.start(new Stage());
} catch (Exception ex) {
Logger.getLogger(CadastroController.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void salvar() {
try {
Usuario user = new Usuario();
user.setNome(nome.getText() + " " + sobrenome.getText());
user.setLogin(usuario.getText());
if (senha.getText().equals(confirma.getText())) {
user.setSenha(senha.getText());
boolean cadastroRealizado = new CadastroHandler().enviarServidor(user);
if (cadastroRealizado) {
Dialogs.showInformationDialog(new Stage(), "Salvo com sucesso. Você já pode realizar login utilizando as credenciais informadas."
+ "", "Sucesso", "Cadastro");
ClientBoot redirect = new ClientBoot();
redirect.telaLogin();
redirect.start(new Stage());
Stage st = (Stage) senha.getScene().getWindow();
st.close();
} else {
Dialogs.showErrorDialog(new Stage(), "Login informado já em uso. Altere e tente novamente.", "Login já em uso", "Erro");
usuario.requestFocus();
}
} else {
//travar tela de baixo
Dialogs.showErrorDialog(new Stage(), "Senha"
+ " e confirmação estão diferentes.", "Erro", "Erro");
clear();
}
} catch (Exception ex) {
Logger.getLogger(CadastroController.class.getName()).log(Level.SEVERE, null, ex);
}
}
@FXML
public void okAction(ActionEvent e) {
if (!(nome.getText().isEmpty() || sobrenome.getText().isEmpty()
&& senha.getText().isEmpty() && confirma.getText().isEmpty())) {
salvar();
} else {
Dialogs.showErrorDialog(new Stage(), "É necessario preencher todos"
+ " os campos. Verifique e tente novamente.", "Erro", "Erro");
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// String vazio="obrigatório preencher!";
// nome.setPromptText(vazio);
// sobrenome.setPromptText(vazio);
// usuario.setPromptText(vazio);
// confirma.setPromptText(vazio);
// senha.setPromptText(vazio);
}
}