package com.evolute.siprp.server.logic.login;

import java.util.Date;

import com.evolute.siprp.client.panels.index.login.LoginService;
import com.evolute.siprp.client.vo.Utilizador;
import com.evolute.utils.arrays.Virtual2DArray;

public class LoginLogic implements LoginService 
{

	private LoginDataProvider loginProvider;
	
	public LoginLogic()
	{
		try
		{
			loginProvider = LoginDataProvider.getProvider();
		}
		catch ( Exception e )
		{
			e.printStackTrace();
		}
	}
	
	
	@Override
	public Utilizador doLogin( String username, String password )
	{
		Utilizador rUser = null;
        
		try
		{		
			Virtual2DArray users = loginProvider.getUtilizador( username, password );
			if ( users.columnLength() == 1 )
			{
				rUser = new Utilizador();
				rUser.setUserID( ( Integer ) users.get( 0, 0 ) );
				rUser.setUsername( ( String ) users.get( 0, 1 ) );
				rUser.setEmail( ( String ) users.get( 0, 2 ) );
				rUser.setTipo_utilizador( ( Integer ) users.get( 0, 3 ) );
				rUser.setNome( ( String ) users.get( 0, 4 ) );
				rUser.setPrimeiro_login( (( String ) users.get( 0, 5 )).equals( "y" ) );
				rUser.setData_password( ( Date ) users.get( 0, 6 ) );
				rUser.setResponsavel_loja( (( String ) users.get( 0, 7 )).equals( "y" ) );
				rUser.setEstabelecimento_id( ( Integer ) users.get( 0, 8 ) );
			}
		}
		catch ( Exception e )
		{
			e.printStackTrace();
		}
		
		return rUser;
	}
	
}
