Esempio n. 1
0
        private static void Aula194()
        {
            Console.WriteLine("Dados do aluguel do Veículo");
            Console.Write("Modelo do Veículo: ");
            string modelo = Console.ReadLine();

            Console.Write("UF da locação: ");
            string uf = Console.ReadLine();

            Console.Write("Saida (dd/MM/yyy hh:mm)");
            DateTime saida = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

            Console.Write("Retorno (dd/MM/yyy hh:mm)");
            DateTime retorno = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

            Entities.Aula194Class.Locacao locacao = new Entities.Aula194Class.Locacao(saida, retorno, new Entities.Aula194Class.Veiculo(modelo));
            Console.Write("Preço por hora: ");
            double hora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

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

            Entities.Aula194Class.LocacaoServico locacaoServico = new Entities.Aula194Class.LocacaoServico(hora, dia, new Entities.Aula194Class.AlagoasTaxaServico());
            locacaoServico.ProcessoImposto(locacao);

            Console.WriteLine("Resumo");
            Console.WriteLine(locacao.Imposto);
            Console.ReadLine();
        }
Esempio n. 2
0
        public void ProcessoImposto(Locacao locacao)
        {
            TimeSpan duracao     = locacao.Termino.Subtract(locacao.Inicio);
            double   baseCalculo = 0.0;

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

            double taxa = _taxaServico.Taxa(baseCalculo);

            locacao.Imposto = new Imposto(baseCalculo, taxa);
        }