package br.com.lojaanandabiloia.view;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JToolBar;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JSpinner;
import javax.swing.JLayeredPane;
import javax.swing.JOptionPane;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.border.TitledBorder;

import br.com.lojaanandabiloia.bancodedados.ConnectionFactory;
import br.com.lojaanandabiloia.dao.AdministradorDao;

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JButton;
import java.awt.Label;
import javax.swing.JFormattedTextField;
import javax.swing.ImageIcon;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.awt.event.ActionEvent;
import javax.swing.JPasswordField;

public class Login extends JFrame {

	private JPanel contentPaneLogin;
	private JTextField tfNomeDoUsuario;
	private AdministradorDao administradorDao;
	private JPasswordField tfSenhaDoUsuario;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Login frame = new Login();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Login() {
		setResizable(false);
		setTitle("Sistema Loja Ananda Biloia.");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 471, 247);
		contentPaneLogin = new JPanel();
		contentPaneLogin.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPaneLogin);
		
		JPanel panel = new JPanel();
		panel.setBorder(new TitledBorder(null, "Sistema de Login.", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		GroupLayout gl_contentPaneLogin = new GroupLayout(contentPaneLogin);
		gl_contentPaneLogin.setHorizontalGroup(
			gl_contentPaneLogin.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPaneLogin.createSequentialGroup()
					.addContainerGap()
					.addComponent(panel, GroupLayout.DEFAULT_SIZE, 414, Short.MAX_VALUE)
					.addContainerGap())
		);
		gl_contentPaneLogin.setVerticalGroup(
			gl_contentPaneLogin.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPaneLogin.createSequentialGroup()
					.addContainerGap()
					.addComponent(panel, GroupLayout.PREFERRED_SIZE, 176, GroupLayout.PREFERRED_SIZE)
					.addContainerGap(75, Short.MAX_VALUE))
		);
		
		JLabel lblNomeDoUsurio = new JLabel("Nome do usu\u00E1rio:");
		
		tfNomeDoUsuario = new JTextField();
		tfSenhaDoUsuario = new JPasswordField();
		
		JLabel lblSenhaDoUsurio = new JLabel("Senha do usu\u00E1rio:");
		JLabel lblMenssagemError = new JLabel();
		JButton btnEntrarUsuario = new JButton("ENTRAR");

		
	
		
		
		
		btnEntrarUsuario.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//metodo para funcionar o botao entrar
				//administradorDao.abrirTelaPrincipal(tfNomeDoUsuario.getText(), tfSenhaDoUsuario.getText(), lblMenssagemError);
			
				PreparedStatement pstm;
				ResultSet rs;
				String consulta = "select * from administrador";
				
				try(Connection conexao = new ConnectionFactory().getConnection()){
					pstm = conexao.prepareStatement(consulta);
					rs = pstm.executeQuery();
					if(rs.next()){
						String bdnome = rs.getString("admin_login");
						String bdsenha = rs.getString("admin_senha");
						if(bdnome.equals(tfNomeDoUsuario.getText()) && bdsenha.equals(tfSenhaDoUsuario.getText())){
							
							Principal telaPrincipal = new Principal();
							Login telaLogin = new Login();
							
							telaPrincipal.setVisible(true);
							telaLogin.dispose();
							
							
						}else{
							
						
							if(!tfNomeDoUsuario.getText().equals(bdnome) || !tfSenhaDoUsuario.getText().equals(bdsenha)){
								lblMenssagemError.setText("Nome ou Senha do usuário está incorretos.");
								}
							
						
						}
								}
				}catch (SQLException e) {
					System.out.println("ERROR - ao abrir tela principal");
					e.printStackTrace();
					// TODO: handle exception
				}
			
			}
		});
		btnEntrarUsuario.setIcon(new ImageIcon("C:\\Users\\jorge\\workspace\\lojaanandabiloia\\src\\br\\com\\lojaanandabiloia\\img\\key60.png"));
		
		
		
		
		GroupLayout gl_panel = new GroupLayout(panel);
		gl_panel.setHorizontalGroup(
			gl_panel.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_panel.createSequentialGroup()
					.addContainerGap()
					.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
						.addComponent(tfSenhaDoUsuario, GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
						.addComponent(lblNomeDoUsurio)
						.addComponent(tfNomeDoUsuario, GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
						.addComponent(lblSenhaDoUsurio)
						.addGroup(gl_panel.createSequentialGroup()
							.addComponent(btnEntrarUsuario)
							.addGap(33)
							.addComponent(lblMenssagemError, GroupLayout.PREFERRED_SIZE, 258, GroupLayout.PREFERRED_SIZE)))
					.addContainerGap())
		);
		gl_panel.setVerticalGroup(
			gl_panel.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_panel.createSequentialGroup()
					.addContainerGap()
					.addComponent(lblNomeDoUsurio)
					.addPreferredGap(ComponentPlacement.RELATED)
					.addComponent(tfNomeDoUsuario, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
					.addPreferredGap(ComponentPlacement.RELATED)
					.addComponent(lblSenhaDoUsurio)
					.addPreferredGap(ComponentPlacement.RELATED)
					.addComponent(tfSenhaDoUsuario, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
					.addGap(11)
					.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
						.addGroup(gl_panel.createSequentialGroup()
							.addComponent(btnEntrarUsuario, GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE)
							.addGap(6))
						.addGroup(gl_panel.createSequentialGroup()
							.addComponent(lblMenssagemError, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE)
							.addContainerGap())))
		);
		panel.setLayout(gl_panel);
		contentPaneLogin.setLayout(gl_contentPaneLogin);
	}
}
