package br.com.MDSGPP.ChamadaParlamentar.control;

import java.sql.SQLException;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import br.com.MDSGPP.ChamadaParlamentar.exception.ListaVaziaException;
import br.com.MDSGPP.ChamadaParlamentar.model.EstatisticaPartido;
import br.com.MDSGPP.ChamadaParlamentar.model.Partidos;

public final class EstatisticaPartidoControl {
	public static EstatisticaPartido gerarEstatisticaPartido(String nome) 
			throws ClassNotFoundException, SQLException, ListaVaziaException {
		EstatisticaPartido estatistica = new EstatisticaPartido();
		
		Partidos partido = PartidoControl.passarPartidoComDadosCompletos(nome);
		estatistica.setPartido(partido);
		
		int totalDeSessoes = 0;
		int totalDeSessoesAssistidas = 0;
		for(int i = 0; i<partido.getEstatisticaDosDeputados().size(); i++) {
			totalDeSessoes += Integer.parseInt(partido.getEstatisticaDosDeputados().get(i).getTotalSessao());
			totalDeSessoesAssistidas += Integer.parseInt(partido.getEstatisticaDosDeputados().get(i).getNumeroSessao());
		}
		
		double porcentagem = (((double)(totalDeSessoesAssistidas))/((double)totalDeSessoes))*100.0;
		
		String porcentagemAPassar = formatarNumeroDouble(porcentagem);
		
		estatistica.setPorcentagem(porcentagemAPassar);
		estatistica.setQuantidadeDeSessoes(totalDeSessoes);
		estatistica.setSessoesAssistidas(totalDeSessoesAssistidas);
		return estatistica;	
	}
	
	public static String formatarNumeroDouble(double numero) {
		NumberFormat formatardouble= new DecimalFormat("0.00");    
		
		return formatardouble.format(numero);
	}
}

@@ -379,16 +379,277 @@
 ntrol %7B%0A
+%09%0A%09/**%0A%09 * This method is to generate the statistics of one political party.%0A%09 * %0A%09 * @param nome%0A%09 *            String, name of the political party.%0A%09 * @return%0A%09 * @throws ClassNotFoundException%0A%09 * @throws SQLException%0A%09 * @throws ListaVaziaException%0A%09 */%0A%09%0A
 %09public 
@@ -1670,16 +1670,216 @@
 ;%09%0A%09%7D%0A%09%0A
+%09/**%0A%09 * this method is only to format a number on the pattern 0.00.%0A%09 * %0A%09 * @param numero%0A%09 *            Double, number to be formated.%0A%09 * @return returns a string with the formated number.%0A%09 */%0A%09%0A
 %09public 

Comment the method of class EstatisticaPartidoCont