Jump to content

Update não modifica os dados


Wenderson Lisboa

Recommended Posts

Classe inicial

import GUI.Tela;

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 */

/**
 *
 * @author User
 */
public class Principal {

    public static void main(String[] args) {
        Tela tela = new Tela();
        tela.setVisible(true);
    }
}

Este é o DAO:

package Conexao;

import OBJ.Residencia;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 *
 * @author User
 */
public class DAO {
    
    private Connection con = null;
    private PreparedStatement stmt = null;
    private ResultSet rs = null;
    
    public DAO() throws Exception{
        
        Class.forName("com.mysql.cj.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/locar","root","");
    }
    
    public void incluir(Residencia residencia) throws Exception{
        
        stmt = con.prepareStatement("INSERT INTO CAD(NOME, ENDERECO, ESTADO, IPTU, TIPO) VALUES(?,?,?,?,?)");
        
        stmt.setString(1, residencia.getNome());
        stmt.setString(2, residencia.getEndereco());
        stmt.setString(3, residencia.getEstado());
        stmt.setDouble(4, Double.valueOf(residencia.getIptu()));
        stmt.setString(5, residencia.getTipo());
        
        stmt.executeUpdate();
        stmt.close();
       
    }
    
    public void alterar(Residencia residencia) throws Exception{
        
        stmt = con.prepareStatement("UPDATE CAD SET NOME = ?, ENDERECO = ?, ESTADO = ?, IPTU = ?, TIPO = ? WHERE CODIGO = ?");
        
        stmt.setString(1, String.valueOf(residencia.getCodigo()));
        stmt.setString(2, residencia.getNome());
        stmt.setString(3, residencia.getEndereco());
        stmt.setString(4, residencia.getEstado());
        stmt.setDouble(5, residencia.getIptu());
        stmt.setString(6, residencia.getTipo());
        
        
        stmt.executeUpdate();
        stmt.close();
        
    }
    
    public void excluir(Residencia residencia) throws Exception{
        
        stmt = con.prepareStatement("DELETE FROM CAD WHERE CODIGO = ?");
        
        stmt.setInt(1, residencia.getCodigo());
        
        stmt.executeUpdate();
        stmt.close();
    }
    
    public void consultar(Residencia residencia) throws Exception{
        
        stmt = con.prepareStatement("SELECT * FROM CAD WHERE CODIGO = ?");
        
        stmt.setInt(1 , residencia.getCodigo());
        
        rs = stmt.executeQuery();
        
        if(rs.next()){
            residencia.setCodigo(rs.getInt(1));
            residencia.setNome(rs.getString(2));
            residencia.setEndereco(rs.getString(3));
            residencia.setEstado(rs.getString(4));
            residencia.setIptu(rs.getDouble(5));
            residencia.setTipo(rs.getString(6));
        }
        
        stmt.close();
    }
}

Aqui temos a classe que capta os dados e cuida do grafico

package GUI;

import Conexao.DAO;
import OBJ.Residencia;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
/**
 *
 * @author User
 */
public class Tela extends JFrame implements ActionListener {
    
    private JLabel lbNome = null;
    private JTextField txtNome = null;
    private JLabel lbCodigo = null;
    private JTextField txtCodigo = null;
    private JLabel lbEstado = null;
    private JComboBox<String> cbEstado = null;
    private JLabel lbIPTU = null;
    private JTextField txtIPTU = null;
    private JRadioButton rbCasa = null;
    private JRadioButton rbApartamento = null;
    private ButtonGroup bgEscolha = null;
    private JLabel lbEndereco = null;
    private JTextField txtEndereco = null;
    
    private JButton bntIncluir = null;
    private JButton bntAlterar = null;
    private JButton bntExcluir = null;
    private JButton bntConsultar = null;
    private JButton bntLimpar = null;
    private JButton bntSair = null;

    private DAO dao;
    
    public Tela(){
        
        super("SYS LOCAÇÂO");
        try{
            
            dao = new DAO();
            
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            setLayout(new FlowLayout());
            setSize(600,200);
            setResizable(false);
            setLocationRelativeTo(null);
            
            
            String[] estados = {
                " - ESCOLHA - ",
                "ALAGOAS",
                "BAHIA",
                "CEARÁ",
                "MARANHÃO",
                "PIAUÍ",
                "PARAIBA",
                "PERNAMBUCO",
                "RIO GRANDE DO NORTE",
                "SERGIPE"
                };
    
            lbEndereco = new JLabel();
            lbEndereco.setText("Endereço: ");
            
            txtEndereco = new JTextField(45);
            
            rbCasa = new JRadioButton("Casa");
            rbCasa.setSelected(true);
            rbApartamento = new JRadioButton("Apartamento");
            
            bgEscolha = new ButtonGroup();
            bgEscolha.add(rbCasa);
            bgEscolha.add(rbApartamento);
            
            lbNome = new JLabel();
            lbNome.setText("Nome: ");
            
            txtNome = new JTextField(45);
            
            lbCodigo = new JLabel();
            lbCodigo.setText("Código: ");
            
            txtCodigo = new JTextField(10);
            
            lbEstado = new JLabel();
            lbEstado.setText("Estado: ");
            
            cbEstado = new JComboBox<>(estados);
            
            
            lbIPTU = new JLabel();
            lbIPTU.setText("Valor IPVA: ");
            
            txtIPTU = new JTextField(45);
            
            bntIncluir = new JButton();
            bntIncluir.setText("Incluir");
            
            bntAlterar = new JButton();
            bntAlterar.setText("Alterar");
            
            bntExcluir = new JButton();
            bntExcluir.setText("Excluir");
            
            bntConsultar = new JButton();
            bntConsultar.setText("Consultar");
            
            bntLimpar = new JButton();
            bntLimpar.setText("Limpar");
            
            bntSair = new JButton();
            bntSair.setText("Sair");
            
            rbCasa.addActionListener(this);
            rbApartamento.addActionListener(this);
            bntIncluir.addActionListener(this);
            bntAlterar.addActionListener(this);
            bntExcluir.addActionListener(this);
            bntConsultar.addActionListener(this);
            bntLimpar.addActionListener(this);
            bntSair.addActionListener(this);
            
            add(lbCodigo);
            add(txtCodigo);
            add(rbCasa);
            add(rbApartamento);
            add(lbEstado);
            add(cbEstado);
            add(lbNome);
            add(txtNome);
            add(lbEndereco);
            add(txtEndereco);
            add(lbIPTU);
            add(txtIPTU);
            add(bntIncluir);
            add(bntAlterar);
            add(bntExcluir);
            add(bntConsultar);
            add(bntLimpar);
            add(bntSair);
            
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "[ERRO] - "+e.getMessage());
        }
        
    }
    
    private void incluir(){
        try{
            Residencia imovel = new Residencia();
            
            if (rbCasa.isSelected()) {
                imovel.setTipo("Casa");
            } else if (rbApartamento.isSelected()) {
                imovel.setTipo("Apartamento");
            }
            
            imovel.setNome(txtNome.getText());
            imovel.setEndereco(txtEndereco.getText());
            imovel.setEstado(String.valueOf(cbEstado.getSelectedItem()));
            imovel.setIptu(Double.valueOf(txtIPTU.getText()));

            dao.incluir(imovel);
            
            JOptionPane.showMessageDialog(rootPane, "Inclusão efetuada com sucesso!");
            
        }catch(Exception e){
           JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Incluir!"+ e.getMessage());
        }
    }
    
    private void alterar(){
        try{
            Residencia imovel = new Residencia();

            imovel.setCodigo(Integer.valueOf(txtCodigo.getText()));
            imovel.setNome(txtNome.getText());
            imovel.setEndereco(txtEndereco.getText());
            imovel.setEstado(String.valueOf(cbEstado.getSelectedItem()));
            imovel.setIptu(Double.valueOf(txtIPTU.getText()));  
            
             if (rbCasa.isSelected()) {
                imovel.setTipo("Casa");
            } else if (rbApartamento.isSelected()) {
                imovel.setTipo("Apartamento");
            }
            
            dao.alterar(imovel);
            
            JOptionPane.showMessageDialog(rootPane, "Alteração efetuada com sucesso!");
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Alterar!"+ e.getMessage());
        }
    }
    
    private void excluir(){
        try{
            Residencia imovel = new Residencia();
            
            imovel.setCodigo(Integer.valueOf(txtCodigo.getText()));
            
            dao.excluir(imovel);
            
            JOptionPane.showMessageDialog(rootPane, "Exclusão efetuada com sucesso!");
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Excluir!");
        }
    }
    
    private void consultar(){
        try{
            Residencia imovel = new Residencia();
            
            imovel.setCodigo(Integer.valueOf(txtCodigo.getText()));
            
            dao.consultar(imovel);
            
            txtCodigo.setText(String.valueOf(imovel.getCodigo()));
            txtNome.setText(imovel.getNome());
            txtEndereco.setText(imovel.getEndereco());
            cbEstado.setSelectedItem(imovel.getEstado());
            txtIPTU.setText(String.valueOf(imovel.getIptu()));
                                   
            if (imovel.getTipo().equals("Casa")) {
                rbCasa.setSelected(true);
            } else {
                rbApartamento.setSelected(true);
            }
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Consultar!"+ e.getMessage());
        }
    }
    
    private void limpar(){
        
        txtCodigo.setText(null);
        txtNome.setText(null);
        txtEndereco.setText(null);
        txtIPTU.setText(null);
        cbEstado.setSelectedIndex(0);
        
    }
    
    private void sair(){
        dispose();
    }
    
    public void actionPerformed(ActionEvent aux){
        if(aux.getSource() == bntIncluir){
            incluir();
        }else if(aux.getSource() == bntAlterar){
            alterar();
        }else if(aux.getSource() == bntExcluir){
            excluir();
        }else if(aux.getSource() == bntConsultar){
            consultar();
        }else if(aux.getSource() == bntLimpar){
            limpar();
        }else if (aux.getSource() == bntSair){
            sair();
        }
    }
}

Aqui a Classe que recebe os dados:

package Negocios;

/**
 *
 * @author User
 */
public class Produtos {
    
    private String codigo;
    private String descricao;
    private double valorUnit;
    private int qtEstoque;

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public double getValorUnit() {
        return valorUnit;
    }

    public void setValorUnit(double valorUnit) {
        this.valorUnit = valorUnit;
    }

    public int getQtEstoque() {
        return qtEstoque;
    }

    public void setQtEstoque(int qtEstoque) {
        this.qtEstoque = qtEstoque;
    }
    
}

Baco de dados:

CREATE TABLE CAD(
CODIGO INT PRIMARY KEY AUTO_INCREMENT,
NOME VARCHAR(40) NOT NULL,
ENDERECO VARCHAR(40) NOT NULL,
ESTADO VARCHAR(20) NOT NULL,
IPTU DOUBLE NOT NULL,
TIPO VARCHAR(20)
);
Link to comment
Share on other sites

Em 13/03/2024 às 05:44, Wenderson Lisboa disse:

Classe inicial

import GUI.Tela;

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 */

/**
 *
 * @author User
 */
public class Principal {

    public static void main(String[] args) {
        Tela tela = new Tela();
        tela.setVisible(true);
    }
}

Este é o DAO:

package Conexao;

import OBJ.Residencia;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 *
 * @author User
 */
public class DAO {
    
    private Connection con = null;
    private PreparedStatement stmt = null;
    private ResultSet rs = null;
    
    public DAO() throws Exception{
        
        Class.forName("com.mysql.cj.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/locar","root","");
    }
    
    public void incluir(Residencia residencia) throws Exception{
        
        stmt = con.prepareStatement("INSERT INTO CAD(NOME, ENDERECO, ESTADO, IPTU, TIPO) VALUES(?,?,?,?,?)");
        
        stmt.setString(1, residencia.getNome());
        stmt.setString(2, residencia.getEndereco());
        stmt.setString(3, residencia.getEstado());
        stmt.setDouble(4, Double.valueOf(residencia.getIptu()));
        stmt.setString(5, residencia.getTipo());
        
        stmt.executeUpdate();
        stmt.close();
       
    }
    
    public void alterar(Residencia residencia) throws Exception{
        
        stmt = con.prepareStatement("UPDATE CAD SET NOME = ?, ENDERECO = ?, ESTADO = ?, IPTU = ?, TIPO = ? WHERE CODIGO = ?");
        
        stmt.setString(1, String.valueOf(residencia.getCodigo()));
        stmt.setString(2, residencia.getNome());
        stmt.setString(3, residencia.getEndereco());
        stmt.setString(4, residencia.getEstado());
        stmt.setDouble(5, residencia.getIptu());
        stmt.setString(6, residencia.getTipo());
        
        
        stmt.executeUpdate();
        stmt.close();
        
    }
    
    public void excluir(Residencia residencia) throws Exception{
        
        stmt = con.prepareStatement("DELETE FROM CAD WHERE CODIGO = ?");
        
        stmt.setInt(1, residencia.getCodigo());
        
        stmt.executeUpdate();
        stmt.close();
    }
    
    public void consultar(Residencia residencia) throws Exception{
        
        stmt = con.prepareStatement("SELECT * FROM CAD WHERE CODIGO = ?");
        
        stmt.setInt(1 , residencia.getCodigo());
        
        rs = stmt.executeQuery();
        
        if(rs.next()){
            residencia.setCodigo(rs.getInt(1));
            residencia.setNome(rs.getString(2));
            residencia.setEndereco(rs.getString(3));
            residencia.setEstado(rs.getString(4));
            residencia.setIptu(rs.getDouble(5));
            residencia.setTipo(rs.getString(6));
        }
        
        stmt.close();
    }
}

Aqui temos a classe que capta os dados e cuida do grafico

package GUI;

import Conexao.DAO;
import OBJ.Residencia;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
/**
 *
 * @author User
 */
public class Tela extends JFrame implements ActionListener {
    
    private JLabel lbNome = null;
    private JTextField txtNome = null;
    private JLabel lbCodigo = null;
    private JTextField txtCodigo = null;
    private JLabel lbEstado = null;
    private JComboBox<String> cbEstado = null;
    private JLabel lbIPTU = null;
    private JTextField txtIPTU = null;
    private JRadioButton rbCasa = null;
    private JRadioButton rbApartamento = null;
    private ButtonGroup bgEscolha = null;
    private JLabel lbEndereco = null;
    private JTextField txtEndereco = null;
    
    private JButton bntIncluir = null;
    private JButton bntAlterar = null;
    private JButton bntExcluir = null;
    private JButton bntConsultar = null;
    private JButton bntLimpar = null;
    private JButton bntSair = null;

    private DAO dao;
    
    public Tela(){
        
        super("SYS LOCAÇÂO");
        try{
            
            dao = new DAO();
            
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            setLayout(new FlowLayout());
            setSize(600,200);
            setResizable(false);
            setLocationRelativeTo(null);
            
            
            String[] estados = {
                " - ESCOLHA - ",
                "ALAGOAS",
                "BAHIA",
                "CEARÁ",
                "MARANHÃO",
                "PIAUÍ",
                "PARAIBA",
                "PERNAMBUCO",
                "RIO GRANDE DO NORTE",
                "SERGIPE"
                };
    
            lbEndereco = new JLabel();
            lbEndereco.setText("Endereço: ");
            
            txtEndereco = new JTextField(45);
            
            rbCasa = new JRadioButton("Casa");
            rbCasa.setSelected(true);
            rbApartamento = new JRadioButton("Apartamento");
            
            bgEscolha = new ButtonGroup();
            bgEscolha.add(rbCasa);
            bgEscolha.add(rbApartamento);
            
            lbNome = new JLabel();
            lbNome.setText("Nome: ");
            
            txtNome = new JTextField(45);
            
            lbCodigo = new JLabel();
            lbCodigo.setText("Código: ");
            
            txtCodigo = new JTextField(10);
            
            lbEstado = new JLabel();
            lbEstado.setText("Estado: ");
            
            cbEstado = new JComboBox<>(estados);
            
            
            lbIPTU = new JLabel();
            lbIPTU.setText("Valor IPVA: ");
            
            txtIPTU = new JTextField(45);
            
            bntIncluir = new JButton();
            bntIncluir.setText("Incluir");
            
            bntAlterar = new JButton();
            bntAlterar.setText("Alterar");
            
            bntExcluir = new JButton();
            bntExcluir.setText("Excluir");
            
            bntConsultar = new JButton();
            bntConsultar.setText("Consultar");
            
            bntLimpar = new JButton();
            bntLimpar.setText("Limpar");
            
            bntSair = new JButton();
            bntSair.setText("Sair");
            
            rbCasa.addActionListener(this);
            rbApartamento.addActionListener(this);
            bntIncluir.addActionListener(this);
            bntAlterar.addActionListener(this);
            bntExcluir.addActionListener(this);
            bntConsultar.addActionListener(this);
            bntLimpar.addActionListener(this);
            bntSair.addActionListener(this);
            
            add(lbCodigo);
            add(txtCodigo);
            add(rbCasa);
            add(rbApartamento);
            add(lbEstado);
            add(cbEstado);
            add(lbNome);
            add(txtNome);
            add(lbEndereco);
            add(txtEndereco);
            add(lbIPTU);
            add(txtIPTU);
            add(bntIncluir);
            add(bntAlterar);
            add(bntExcluir);
            add(bntConsultar);
            add(bntLimpar);
            add(bntSair);
            
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "[ERRO] - "+e.getMessage());
        }
        
    }
    
    private void incluir(){
        try{
            Residencia imovel = new Residencia();
            
            if (rbCasa.isSelected()) {
                imovel.setTipo("Casa");
            } else if (rbApartamento.isSelected()) {
                imovel.setTipo("Apartamento");
            }
            
            imovel.setNome(txtNome.getText());
            imovel.setEndereco(txtEndereco.getText());
            imovel.setEstado(String.valueOf(cbEstado.getSelectedItem()));
            imovel.setIptu(Double.valueOf(txtIPTU.getText()));

            dao.incluir(imovel);
            
            JOptionPane.showMessageDialog(rootPane, "Inclusão efetuada com sucesso!");
            
        }catch(Exception e){
           JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Incluir!"+ e.getMessage());
        }
    }
    
    private void alterar(){
        try{
            Residencia imovel = new Residencia();

            imovel.setCodigo(Integer.valueOf(txtCodigo.getText()));
            imovel.setNome(txtNome.getText());
            imovel.setEndereco(txtEndereco.getText());
            imovel.setEstado(String.valueOf(cbEstado.getSelectedItem()));
            imovel.setIptu(Double.valueOf(txtIPTU.getText()));  
            
             if (rbCasa.isSelected()) {
                imovel.setTipo("Casa");
            } else if (rbApartamento.isSelected()) {
                imovel.setTipo("Apartamento");
            }
            
            dao.alterar(imovel);
            
            JOptionPane.showMessageDialog(rootPane, "Alteração efetuada com sucesso!");
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Alterar!"+ e.getMessage());
        }
    }
    
    private void excluir(){
        try{
            Residencia imovel = new Residencia();
            
            imovel.setCodigo(Integer.valueOf(txtCodigo.getText()));
            
            dao.excluir(imovel);
            
            JOptionPane.showMessageDialog(rootPane, "Exclusão efetuada com sucesso!");
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Excluir!");
        }
    }
    
    private void consultar(){
        try{
            Residencia imovel = new Residencia();
            
            imovel.setCodigo(Integer.valueOf(txtCodigo.getText()));
            
            dao.consultar(imovel);
            
            txtCodigo.setText(String.valueOf(imovel.getCodigo()));
            txtNome.setText(imovel.getNome());
            txtEndereco.setText(imovel.getEndereco());
            cbEstado.setSelectedItem(imovel.getEstado());
            txtIPTU.setText(String.valueOf(imovel.getIptu()));
                                   
            if (imovel.getTipo().equals("Casa")) {
                rbCasa.setSelected(true);
            } else {
                rbApartamento.setSelected(true);
            }
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Consultar!"+ e.getMessage());
        }
    }
    
    private void limpar(){
        
        txtCodigo.setText(null);
        txtNome.setText(null);
        txtEndereco.setText(null);
        txtIPTU.setText(null);
        cbEstado.setSelectedIndex(0);
        
    }
    
    private void sair(){
        dispose();
    }
    
    public void actionPerformed(ActionEvent aux){
        if(aux.getSource() == bntIncluir){
            incluir();
        }else if(aux.getSource() == bntAlterar){
            alterar();
        }else if(aux.getSource() == bntExcluir){
            excluir();
        }else if(aux.getSource() == bntConsultar){
            consultar();
        }else if(aux.getSource() == bntLimpar){
            limpar();
        }else if (aux.getSource() == bntSair){
            sair();
        }
    }
}

Aqui a Classe que recebe os dados:

package Negocios;

/**
 *
 * @author User
 */
public class Produtos {
    
    private String codigo;
    private String descricao;
    private double valorUnit;
    private int qtEstoque;

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public double getValorUnit() {
        return valorUnit;
    }

    public void setValorUnit(double valorUnit) {
        this.valorUnit = valorUnit;
    }

    public int getQtEstoque() {
        return qtEstoque;
    }

    public void setQtEstoque(int qtEstoque) {
        this.qtEstoque = qtEstoque;
    }
    
}

Baco de dados:

CREATE TABLE CAD(
CODIGO INT PRIMARY KEY AUTO_INCREMENT,
NOME VARCHAR(40) NOT NULL,
ENDERECO VARCHAR(40) NOT NULL,
ESTADO VARCHAR(20) NOT NULL,
IPTU DOUBLE NOT NULL,
TIPO VARCHAR(20)
);

tens os campos trocados.. 1) nome, 2) morada, 3) estado, 4) iptu, 5) tipo, 6) CODIGO (e o código deve ser INT e não STRING)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.