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); }
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); }
private Estacionamento() { _tabelaEstacionamento = new BancoDeDadosEstacionamento(); _tabelaEstacionamento.CriaTabela(); }
private static bool VeiculoUtilizouEstacionamentoTresVezes(Veiculo veiculo, BancoDeDadosEstacionamento bancoDeDados) { return((bancoDeDados.ListaDeOcorrencias(veiculo).Count + _ocorrenciaAtualQueAindaNaoFoiAdicionada) % _quantidadeDeOcorrenciasParaValorPagoReceberZero == 0); }