Esempio n. 1
0
        public void ProcessarRecibo(AluguelDeVeiculo aluguelDeVeiculo)
        {
            TimeSpan duracao = aluguelDeVeiculo.Devolucao.Subtract(aluguelDeVeiculo.Retirada);

            double valorServico;

            if (duracao.TotalHours <= 12.0)
            {
                valorServico = PrecoPorHora * Math.Ceiling(duracao.TotalHours);
            }
            else
            {
                valorServico = PrecoPorDia * Math.Ceiling(duracao.TotalDays);
            }

            double valorImposto = _servicoDeImpostos.Imposto(valorServico);

            aluguelDeVeiculo.Recibo = new Recibo(valorServico, valorImposto);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("====  Seção 14: Interfaces ====");
            Console.WriteLine();

            Console.WriteLine("Dados do aluguel");
            Console.Write("Modelo do veículo: ");
            string modelo = Console.ReadLine();

            Console.Write("Retirada (dd/mm/aaaa hh:mm): ");
            string   retiradaString = Console.ReadLine().Trim();
            DateTime retirada       = DateTime.ParseExact(retiradaString, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

            Console.Write("Devolução (dd/mm/aaaa hh:mm): ");
            string   devolucaoString = Console.ReadLine().Trim();
            DateTime devolucao       = DateTime.ParseExact(devolucaoString, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

            Veiculo          veiculo          = new Veiculo(modelo);
            AluguelDeVeiculo aluguelDeVeiculo = new AluguelDeVeiculo(retirada, devolucao, veiculo);

            Console.WriteLine();

            Console.WriteLine();
            Console.Write("Preço por hora: R$ ");
            double precoPorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Console.Write("Preço por dia: R$ ");
            double precoPorDia = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            ServicoDeAluguel servicoDeAluguel = new ServicoDeAluguel(precoPorDia, precoPorHora, new ImpostosBrasil());

            servicoDeAluguel.ProcessarRecibo(aluguelDeVeiculo);

            Console.WriteLine();
            Console.WriteLine("Recibo");
            Console.WriteLine("Valor do serviço: R$ " + aluguelDeVeiculo.Recibo.ValorDoServico.ToString("F2", CultureInfo.InvariantCulture));
            Console.WriteLine("Valor do imposto: R$" + aluguelDeVeiculo.Recibo.Imposto.ToString("F2", CultureInfo.InvariantCulture));
            Console.WriteLine("Total: R$ " + aluguelDeVeiculo.Recibo.PagamentoTotal.ToString("F2", CultureInfo.InvariantCulture));
        }