Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
 private static double GetTotalHours(Veiculo veiculo)
 {
     //Ceiling arredonda horas para cima
     return(Math.Ceiling((veiculo.GetDataSaida() - veiculo.GetDataEntrada()).TotalHours));
 }
Ejemplo n.º 3
0
 private static bool VeiculoFicouMenosDe15Minutos(Veiculo veiculo)
 {
     return((veiculo.GetDataSaida() - veiculo.GetDataEntrada()).TotalMinutes < _minutosMaximosParaValorPagoReceberValorBase);
 }