package View;

import java.net.URL;
import java.util.Enumeration;
import java.util.List;
import java.util.ResourceBundle;

import DAO.DAO;
import Model.Usuarios;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
import telas.Login;
import telas.Principal;

public class LoginController implements Initializable {

	
	@FXML
	private Button BtSair;

	@FXML
	private Button btEntrar;

	@FXML
	private PasswordField txSenha;

	@FXML
	private TextField txEmail;

	@FXML
	private void btOnActionEntrar() {
		logar();
	}

	@FXML
	private void btOnActionSair() {
		fechar();
	}

	@Override
	public void initialize(URL location, ResourceBundle resources) {
	}

	public void fechar() {
		Login.getStage().close();
	}

	
	
	
	Long id;
	
	
	public void logar() {
		DAO<Usuarios> dao = new DAO<Usuarios>(Usuarios.class);
		List<Usuarios> users = dao.obterTodos();

		for (int i = 0; i < users.size(); i++) {

			if (txEmail.getText().equals(users.get(i).getEmail()) && txSenha.getText().equals(users.get(i).getSenha())) {
				id = users.get(i).getId();
				Principal p = new Principal();
				i = users.size();
				fechar();
				try {
					p.start(new Stage());
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

			} else {
				if(i == users.size()-1) {
					Alert alert = new Alert(AlertType.ERROR);
					alert.setTitle("Erro");
					alert.setHeaderText("Login Invalido");
					alert.setContentText("O Erro aconteceu devido ao usuario ser invalido");
					alert.show();
					
				}else {
					System.out.println("");
				}
			}

		}

	}
}
