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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }