package pack.bean;

import java.io.Serializable;

import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;

import pack.dao.UtilisateurDao;
import pack.entities.Utilisateur;


@ManagedBean
@ViewScoped

public class AuthentifierBean implements Serializable {
	 private static final long serialVersionUID = 1L;
	 
	 UIComponent component=null;
	 UIComponent component2=null;
	 



     //Injection de notre EJB (Session Bean Stateless)
    
    @EJB
    private UtilisateurDao    utilisateurDao;

    private Utilisateur utilisateur;
    
    
    private String password;
    private String mail;
//    //	FacesContext context = FacesContext.getCurrentInstance();
//	   
//	private ValueBinding binding = context.getApplication().createValueBinding("#{authentifierBean.mail}");
//
//	private String mail = (String) binding.getValue(context);
//	
//	private ValueBinding binding2 = context.getApplication().createValueBinding("#{authentifierBean.password}");
//    
//	private String password = (String) binding.getValue(context);
//    
    
    
    
    
    
    
    
    
    
    // Initialisation de l'entit้ utilisateur
    public AuthentifierBean() {

    	
    	

    	utilisateur= new Utilisateur();
    
    }

    
    
    public String authentifier(){
     

        
       UIInput composantEmail = (UIInput) component.getAttributes().get("composantEmail");	
     mail = (String)composantEmail.getValue();
        
    	 System.out.println("LA VALEUR DE MAIL RENTREE EST "+ mail);
        
        UIInput composantPassword = (UIInput) component2.getAttributes().get("composantPassword");	
       password = (String)composantPassword.getValue();
        
        
          	
         
          utilisateur= utilisateurDao.trouver(mail);
          
          if (utilisateur!=null)
          {
        
      	    if ((String)utilisateur.getMotDePasse()==password)
  		      return "mainpage";
  	    	  else	
  	    	  {
  	    		 FacesMessage message = new FacesMessage( "mauvais mot de passe!" );
  		        FacesContext.getCurrentInstance().addMessage( null, message );
  		        
  		        return "inscrire";
  	    	  }
        	  
        
          }
        
          else
          {
        	  return "upload";
          }
        	
          
//          System.out.println("LA VALEUR De password dans authentifier (default) est " + password);
//          System.out.println("LA VALEUR DU MDP TROUVEE EST "+ (String)utilisateur.getMotDePasse());
          
      
          

	    		
   
      
          
          
    }   	
    

    
    

    
    
}

