static void Main(string[] args)
        {
            Console.WriteLine("Dados da locação ");
            Console.Write("Carro de Modelo: ");
            string modelo = Console.ReadLine();

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

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

            Console.Write("Insira o preço por hora: ");
            double horas = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

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

            AluguelCarro    carro   = new AluguelCarro(retirada, entrega, new Veiculo(modelo));
            ServicosAluguel aluguel = new ServicosAluguel(horas, dias, new TaxaBrasileira());

            aluguel.ProcessamentoFaturamento(carro);

            Console.WriteLine("FATURA");
            Console.WriteLine(carro.Fatura);
        }
Example #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Entre com os dados do aluguel:");
            Console.Write("Modelo veiculo: ");
            string modelo = Console.ReadLine();

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

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

            Console.Write("Entre com o valor da hora: ");
            double valorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Console.Write("Entre com o valor da diaria: ");
            double valorDia = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);


            AluguelCarro aluguelcarro = new AluguelCarro(dataEntrada, dataRetorno, new Veiculo(modelo));

            ServicoAluguel servicoAluguel = new ServicoAluguel(valorHora, valorDia, new ImpostoServico());

            servicoAluguel.ProcessoPagamento(aluguelcarro);

            Console.WriteLine("Pagamento");
            Console.WriteLine(aluguelcarro.Pagamento);
        }
Example #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Entre com os dados do aluguel: ");
            Console.Write("Modelo do carro: ");
            string model = Console.ReadLine();

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

            Console.Write("Entrada (dd/mm/yyyy: ");
            DateTime     fim     = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);
            AluguelCarro aluguel = new AluguelCarro(inicio, fim, new Veiculo(model));

            Console.Write("Entre com preço por hora: ");
            double hora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Console.WriteLine("Entre com o preço por dia: ");
            double dia = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            AluguelCarro   carRental = new AluguelCarro(inicio, fim, new Veiculo(model));
            RentalServices rental    = new RentalServices(hora, dia, new BrazilTax());

            rental.ProcessInvoice(carRental);
            Console.WriteLine("Invoice:");
            Console.WriteLine(carRental.Invoice);
        }
Example #4
0
        static void Main(string[] args)
        {
            AluguelCarro   aluguelCarro   = new AluguelCarro(DateTime.Parse("25/06/2018 10:30"), DateTime.Parse("27/06/2018 11:40"), new Veiculos("Civic"));
            AluguelService aluguelService = new AluguelService(10, 130, new BrasilTaxasService());

            aluguelService.ProcessarFatura(aluguelCarro);
            Console.WriteLine(aluguelCarro.Fatura);
        }
Example #5
0
        static void Main(string[] args)
        {
            Console.WriteLine("Entre com os dados do aluguel");
            Console.Write("Modelo carro: ");
            string modelo = Console.ReadLine();

            Console.Write("inicio (Dia/Mês/Ano Hr:min)");
            DateTime inicio = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

            Console.Write("Fim (Dia/Mês/Ano Hr:min)");
            DateTime fim = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

            AluguelCarro aluguel = new AluguelCarro(inicio, fim, new Veiculo(modelo));

            Console.WriteLine(aluguel);
        }
Example #6
0
        public void ProcessInvoice(AluguelCarro carRental)
        {
            TimeSpan duration     = carRental.Final.Subtract(carRental.Inicio);
            double   basciPayment = 0.0;

            if (duration.TotalHours <= 12.0)
            {
                basciPayment = PrecoPorHora * Math.Ceiling(duration.TotalHours);
            }
            else
            {
                basciPayment = PrecoPorDia * Math.Ceiling(duration.TotalDays);
            }
            double tax = _taxServico.Tax(basciPayment);

            carRental.Invoice = new Invoice(basciPayment, tax);
        }
Example #7
0
        public void ProcessarInvoice(AluguelCarro aluguelCarro)
        {
            TimeSpan duracao         = aluguelCarro.DataFim.Subtract(aluguelCarro.DataInicio);
            double   pagamentoBasico = 0.0;

            if (duracao.TotalHours <= 12.0)
            {
                pagamentoBasico = PrecoHora * Math.Ceiling(duracao.TotalHours); // A função Math.Ceiling arredonda o valor passado como parâmetro para cima
            }
            else
            {
                pagamentoBasico = PrecoDia * Math.Ceiling(duracao.TotalDays);
            }

            double imposto = _servicoImposto.Imposto(pagamentoBasico);

            aluguelCarro.Invoice = new Invoice(pagamentoBasico, imposto);
        }
Example #8
0
        public void ProcessarFatura(AluguelCarro aluguelCarro)
        {
            TimeSpan duracao = aluguelCarro.Fim.Subtract(aluguelCarro.Inicio);
            double   valor;

            if (duracao.TotalHours <= 12)
            {
                valor = PrecoHora * Math.Ceiling(duracao.TotalHours);
            }
            else
            {
                valor = PrecoDia * Math.Ceiling(duracao.TotalDays);
            }

            double taxa = _brasilTaxasService.Taxa(valor);

            aluguelCarro.Fatura = new Fatura(valor, taxa);
        }
Example #9
0
        public void ProcessoPagamento(AluguelCarro aluguelCarro)
        {
            TimeSpan duracao = aluguelCarro.FinalAluguel.Subtract(aluguelCarro.InicioAluguel);

            double pagamentoBasico = 0.0;

            if (duracao.TotalHours <= 12.0)
            {
                pagamentoBasico = ValorHora * Math.Ceiling(duracao.TotalHours);
            }
            else
            {
                pagamentoBasico = ValorDia * Math.Ceiling(duracao.TotalDays);
            }

            double imposto = _impostoServico.Taxa(pagamentoBasico);

            aluguelCarro.Pagamento = new Pagamento(pagamentoBasico, imposto);
        }
Example #10
0
        public void ProcessamentoFaturamento(AluguelCarro aluguel)
        {
            TimeSpan duration = aluguel.Entrega.Subtract(aluguel.Retirada);

            double pagamento = 0.0;

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

            double taxa = TaxaService.Taxa(pagamento);

            aluguel.Fatura = new Fatura(pagamento, taxa);
        }
Example #11
0
        public static void SolucaoSemInterfaces()
        {
            Console.Write("Modelo do carro: ");
            string modelo = Console.ReadLine();

            Console.Write("Data e hora do aluguel: ");
            DateTime dataInicio = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

            Console.Write("Data e hora da devolução: ");
            DateTime dataFim = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

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

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

            AluguelCarro   aluguelCarro   = new AluguelCarro(dataInicio, dataFim, new Veiculo(modelo));
            ServicoAluguel servicoAluguel = new ServicoAluguel(precoHora, precoDia, new ServicoImpostoBrasil());

            servicoAluguel.ProcessarInvoice(aluguelCarro);
            Console.WriteLine("INVOICE");
            Console.WriteLine(aluguelCarro.Invoice);
        }
 public void processoFatura(AluguelCarro aluguelCarro)
 {
     TimeSpan duracao = aluguelCarro.Fim.Subtract(aluguelCarro.inicio);
 }