static void Main(string[] args) { Console.WriteLine("Enter rental data"); Console.Write("Car model: "); string modelo = Console.ReadLine(); Console.Write("Pickup (dd/MM/yyyy hh:mm): "); DateTime entrada = DateTime.Parse(Console.ReadLine()); Console.Write("Return (dd/MM/yyyy hh:mm): "); DateTime saida = DateTime.Parse(Console.ReadLine()); Console.Write("Enter price per hour: "); double valorHora = double.Parse(Console.ReadLine()); Console.Write("Enter price per day: "); double valorDia = double.Parse(Console.ReadLine()); AlugelDeCarros alugCar = new AlugelDeCarros(entrada, saida, new Veiculo(modelo)); ServicoDeAluguel servAlug = new ServicoDeAluguel(valorHora, valorDia, new TaxaServicoBrasil()); servAlug.ProcessarFatura(alugCar); Console.WriteLine(alugCar.Fatura); }
public void ProcessarFatura(AlugelDeCarros alugelDeCarros) { //obtendo a duração. TimeSpan duracao = alugelDeCarros.Fim.Subtract(alugelDeCarros.Inicio); double pagamentoBasico = 0.0; if (duracao.TotalHours <= 12.0) { pagamentoBasico = ValorPorHora * Math.Ceiling(duracao.TotalHours); } else { pagamentoBasico = ValorPorDia * Math.Ceiling(duracao.TotalDays); } double taxa = _taxaServico.Taxa(pagamentoBasico); alugelDeCarros.Fatura = new Fatura(pagamentoBasico, taxa); }