public CalculadorDePrecos() { estDAO = new EstacionamentoDAOImpl(); clock = new GeradorDeDataTM(); cfg = new CfgDAOImpl(); intcfg = new InteracaoEstacionamentoComCFG(); horaEncerramento = cfg.GetConfiguracao().horaEncerrameto.Hour; horaAbertura = cfg.GetConfiguracao().horaAbertura.Hour; }
//ARRUMARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR //public double calculaPreco(string cod) //{ // var ticketObj = estDAO.GetEstacionamentoByID(cod); // if (ticketObj.CodEspecial != null) // { // return cfg.GetConfiguracao().valorFixoExtravio; // } // if (checaCortesia(cod) == true) // { // return 0; // } // double precoPagar = 0.0; // var ticket = estDAO.GetEstacionamentoByID(cod).dt_hr_entrada; // var preco3Horas = cfg.GetConfiguracao().valorFixo3Horas; // var precoPernoite = cfg.GetConfiguracao().valorFixoPernoite; // var precoFixoAcima3Horas = cfg.GetConfiguracao().valorFixoAcima3Horas; // if (checaPernoite(cod) == false) // { // var minutos = clock.diferencaMinutos(DateTime.Now, ticket); // if (minutos <= 180)//menor ou igual 3 horas // { // precoPagar = preco3Horas; // return precoPagar; // } // precoPagar = precoFixoAcima3Horas; // return precoPagar; // } // if(checaPernoite(cod) == true) // { // int dias = clock.diferencaDias(DateTime.Now, ticket); // if(dias > 1) // { // precoPagar = precoPernoite * dias; // return precoPagar; // } // precoPagar = precoPernoite; // return precoPagar; // } // return -1; //} #endregion #region Métodos para calcular preço public double calculaPrecoDeTicketExtraviado(string cod) { double precoPagar = 0; var ticketObj = estDAO.GetEstacionamentoByID(cod); var precoFixoExtravio = cfg.GetConfiguracao().valorFixoExtravio; var ticket = ticketObj.dt_hr_entrada; if (checaPernoite(cod) == false) { return(precoFixoExtravio); } else { var precoPernoite = cfg.GetConfiguracao().valorFixoPernoite; int dias = clock.diferencaDias(DateTime.Now, ticket); if (dias > 1) { precoPagar = precoFixoExtravio + precoPernoite * dias; return(precoPagar); } precoPagar = precoPernoite + precoFixoExtravio; return(precoPagar); } }
public int getVagasDisponiveis() { int nVagasLimite = cfgDAO.GetConfiguracao().qtd_vagas; var vagas = estDAO.getEstacionamentos(); int vagasOcupadas = 0; foreach (Estacionamento vaga in vagas) { if (vaga.dt_hr_saida == null & vaga.CodEspecial == null) { vagasOcupadas++; } } //pega o numero de tickets extraviados q sairam e adiciona no valor total de vagas, pois //existem tickets "fantasmas", que ficaram para tras e nunca vão sair, pois o "dono" //pegou um extraviado e saiu com ele. var vagasDisponiveis = nVagasLimite - vagasOcupadas + getExtraviadosQueSairam(); return(vagasDisponiveis); }