Example #1
0
        public static double CalculaValorPago(Veiculo veiculo, BancoDeDadosEstacionamento bancoDeDados)
        {
            double valorPago;

            if (VeiculoUtilizouEstacionamentoTresVezes(veiculo, bancoDeDados))
            {
                valorPago = 0;
            }
            else if (VeiculoFicouMenosDe15Minutos(veiculo))
            {
                valorPago = veiculo.ValorBaseHora;
            }
            else
            {
                valorPago = veiculo.ValorBaseHora +
                            veiculo.ValorPorHora * (GetTotalHours(veiculo) - _primeiraHora);
            }
            return(valorPago);
        }
Example #2
0
        public double Calcula(Veiculo veiculo, BancoDeDadosEstacionamento bancoDeDados)
        {
            double valorPago = 0;

            if (bancoDeDados.ListaDeOcorrencias(veiculo).Count % 3 == 0)
            {
                valorPago = 0;
            }
            else if ((veiculo.GetDataSaida() - veiculo.GetDataEntrada()).TotalMinutes < 15)
            {
                valorPago = ValorBaseHora;
            }
            else
            {
                valorPago = (ValorBaseHora +
                             ValorPorHora * (veiculo.GetDataSaida() - veiculo.GetDataEntrada()).TotalHours - 1);
            }
            //arredonda para cima
            valorPago = Math.Ceiling(valorPago);
            return(valorPago);
        }
Example #3
0
 private Estacionamento()
 {
     _tabelaEstacionamento = new BancoDeDadosEstacionamento();
     _tabelaEstacionamento.CriaTabela();
 }
Example #4
0
 private static bool VeiculoUtilizouEstacionamentoTresVezes(Veiculo veiculo, BancoDeDadosEstacionamento bancoDeDados)
 {
     return((bancoDeDados.ListaDeOcorrencias(veiculo).Count + _ocorrenciaAtualQueAindaNaoFoiAdicionada) %
            _quantidadeDeOcorrenciasParaValorPagoReceberZero == 0);
 }