• Nenhum resultado encontrado

Na classe Utils.java no package utils existe o método readdatefromconsole():

N/A
N/A
Protected

Academic year: 2021

Share "Na classe Utils.java no package utils existe o método readdatefromconsole():"

Copied!
5
0
0

Texto

(1)

 

static public Date readDateFromConsole(String strPrompt) { do {

try {

String strDate = readLineFromConsole(strPrompt);

SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");

Date date = df.parse(strDate);

return date;

} catch (ParseException ex) {

Logger.getLogger(Utils.class.getName()).log(Level.SEVERE,

null, ex);

}

} while (true);

}

 

Na classe  ElaborarContratoUI.java  do package  rentacarapp_ui  existe o método  indicaDataDevolucaoPrevista():  

private Date indicaDataDevolucaoPrevista() { Date today = new Date();

Date ddp;

do {

ddp = Utils.readDateFromConsole(

"Introduza a data de devolução prevista (dd-mm-aaaa): ");

} while (ddp.before(today));

return ddp;

}

 

   

(2)

Classe ContratoAluguer do package  rentacarapp_model   Antiga: 

public class ContratoAluguer {

public ContratoAluguer() {

m_listLinhaServicoAdicional = new ArrayList<LinhaServicoAdicional>();

m_listCondutorAutorizado = new ArrayList<CondutorAutorizado>();

} . . . }

Nova:

public class ContratoAluguer {

Date dataInicioContrato;

Automovel m_automovel;

Date m_dataDevolucaoPrevista;

List<LinhaServicoAdicional> m_listLinhaServicoAdicional;

LocalDevolucao m_localDevolucao;

List<CondutorAutorizado> m_listCondutorAutorizado;

String m_strNomeCliente;

String m_strEnderecoCliente;

String m_strTelefoneCliente;

String m_strEmailCliente;

String m_strObservacoesCliente;

AutorizacaoDebitoCartaoCredito m_autorizacaoDebitoCartaoCredito;

public ContratoAluguer() {

dataInicioContrato = getDataInicioContratoDefault();

m_listLinhaServicoAdicional = new ArrayList<LinhaServicoAdicional>();

m_listCondutorAutorizado = new ArrayList<CondutorAutorizado>();

} . . .

private Date getDataInicioContratoDefault() { return new Date();

}

public float getValorTotal() {

float valorAuto = automovel.getPrecoDiario();

long nrDias = calcularNrDias();

float valorLSA = 0;

for(int i=0; i<m_listLinhaServicoAdicional.size(); i++) {

LinhaServicoAdicional lsa = m_listLinhaServicoAdicional.get(i);

valorLSA += lsa.getValorLinha();

}

return (nrDias * (valorAuto + valorLSA));

}

private long calcularNrDias() {

long dataInicio = dataInicioContrato.getTime(); // Em milisegundos long dataFim = m_dataDevolucaoPrevista.getTime(); // Em milisegundos long UmDia = 24 * 60 * 60 * 1000; // Em milisegundos return (dataFim-dataInicio)/UmDia + 1; // Divisao inteira }

public void addServicoAdicional(ServicoAdicional sa) {

LinhaServicoAdicional lsa = new LinhaServicoAdicional(sa, 1);

m_listLinhaServicoAdicional.add(lsa);

} }  

(3)

public class GrupoAutomovel { private String m_strNome;

private int m_nPortas;

private String m_strClasse;

private String m_strCombustivel;

private boolean m_bArCondicionado;

private float precoDiario;

public GrupoAutomovel(String strNome, int nPortas, String strClasse, String strCombustivel, boolean bArCondicionado, float precoDiario) { setNome(strNome);

setPortas(nPortas);

setClasse(strClasse);

setCombustivel(strCombustivel);

setArCondicionado(bArCondicionado);

setPrecoDiario(precoDiario);

}

public float getPrecoDiario() { return precoDiario;

}

public final void setPrecoDiario(float preco) { precoDiario = preco;

}    

Classe Automovel do package  rentacarapp_model  

 

public class Automovel { . . .

public float getPrecoDiario() { return m_GA.getPrecoDiario();

}

   

(4)

Classe LinhaServicoAdicional do package  rentacarapp_model    

public class LinhaServicoAdicional {

private ServicoAdicional m_servicoAdicional;

private int qtd;

public LinhaServicoAdicional(ServicoAdicional sa, int qtd) { m_servicoAdicional = sa;

this.qtd = qtd;

}

public int getQuantidade() { return qtd;

}

public float getValorLinha() {

return m_servicoAdicional.getPrecoDiario()*qtd;

}

 

Classe ServicoAdicional do package  rentacarapp_model  

public class ServicoAdicional {

private String m_strServicoAdicional;

private float precoDiario;

private boolean acumulavel;

public ServicoAdicional(String strServicoAdicional, float precoDiario, boolean acumulavel) { m_strServicoAdicional = strServicoAdicional;

this.precoDiario = precoDiario;

this.acumulavel = acumulavel;

}

public boolean isAcumulavel() { return acumulavel;

}

public String getDescricao() { return m_strServicoAdicional;

}

public float getPrecoDiario() { return precoDiario;

   

(5)

private void fillInCatalogoGrupoAutomovel() { GrupoAutomovel ga = new GrupoAutomovel(

"Grupo A", 3, "utilitário", "gasolina", false, 37.69f);

m_listCatalogoGrupoAutomovel.add(ga);

ga = new GrupoAutomovel(

"Grupo B", 5, "utilitário","gasolina", false, 48.79f);

m_listCatalogoGrupoAutomovel.add(ga);

ga = new GrupoAutomovel(

"Grupo C", 5, "familiar compacto","gasolina", true, 59.39f);

m_listCatalogoGrupoAutomovel.add(ga);

}

private void fillInCatalogoServicoAdicional() { ServicoAdicional sa = new ServicoAdicional(

"cadeira de criança", 5.99f, true);

m_listCatalogoServicoAdicional.add(sa);

sa = new ServicoAdicional("GPS", 10.99f,false);

m_listCatalogoServicoAdicional.add(sa);

sa = new ServicoAdicional("Seguro contra todos os riscos", 7.49f, false);

m_listCatalogoServicoAdicional.add(sa);

}

Referências

Documentos relacionados

Another noticeable flexible characteristic is concerned to the fact that more than one user can work with the same system setup and ion a same computer; they must simply have data

8.4.4 No caso de não ativação do CHIP CLARO em até 30 (trinta) dias contados da contratação dos serviços do COMBO MULTI INTERNET, o cliente passa a ser considerado

Ato contínuo, após manifestação expressa dos proponentes e a desistência de recursos por todos os proponentes, foi realizada a abertura dos envelopes contendo as propostas

Deste modo, a problemática desta pesquisa consistiu na falta de dados e informações de caráter operacional que pudessem delimitar os custos atrelados a atividade do cultivo da soja,

al.,(1998) relatou que dietas ricas em ácidos graxos saturados (banha de porco) reduzem a resposta das ilhotas de Langerhans à glicose, enquanto que dietas

funcao reparativa que se consubstancia na obrigacao de devolver a vitima ao statu quo ante, seja diante da restituicao da coisa, seja atraves de um valor pecuniario que a

Art.7º - Na hipótese de não ser alcançada a Mediação ou se assim decidirem as partes em comum acordo, a controvérsia poderá ser submetida à Arbitragem, observada a existência

The nutritional composition values obtained for the forage cactus meal indicate that it has high fiber content, even so it presented high digestibility coefficients of dry and organic