public void AlugarVeiculo(Veiculo veiculo) { veiculo.AlterarStatus(new Alugar()); Console.WriteLine($"Veículo alugado com sucesso: \n{veiculo}"); }
public void DevolverVeiculo(Veiculo veiculo) { veiculo.AlterarStatus(new Disponivel()); Console.WriteLine($"O seguinte veículo foi devolvido com sucesso: \n{veiculo}"); }
public void RevisarVeiculo(Veiculo veiculo) { veiculo.AlterarStatus(new Revisar()); Console.WriteLine($"Veículo em revisão: \n{veiculo}"); }
static void Main(string[] args) { List <Fabricante> fabricantes = new List <Fabricante>(); fabricantes.Add(new Fabricante(100, "BMW", "Alemanha")); fabricantes.Add(new Fabricante(101, "Mercedes-Benz", "Alemanha")); fabricantes.Add(new Fabricante(102, "Porsche", "Alemanha")); List <Veiculo> veiculos = new List <Veiculo>(); veiculos.Add(new Veiculo ( 200, "BMW Série 1", "BMW 120i Sport", "2019", fabricantes[0] )); veiculos.Add(new Veiculo ( 201, "BMW X5", "3.0 xDrive30d Auto", "2019", fabricantes[0] )); veiculos.Add(new Veiculo ( 202, "GLA", "1.6 Flex Fuel 200 Style DCT", "2019", fabricantes[1] )); veiculos.Add(new Veiculo ( 203, "Classe A", "1.3 Turbo 200 Sedan Style DCT", "2019", fabricantes[1] )); veiculos.Add(new Veiculo ( 204, "911 Conversível", "3.0 Carrera Cabriolet 18/19", "2019", fabricantes[2] )); veiculos.Add(new Veiculo ( 205, "Cayenne", "3.0 E-Hybrid Auto 4WD 19/20", "2019", fabricantes[2] )); bool quit = false; do { Console.Clear(); TelaPrincipal(); string op = Console.ReadLine(); switch (op.ToUpper()) { case "1": TelaAlugarVeiculo(veiculos); try { int cod = Int32.Parse(Console.ReadLine()); Veiculo veiculo = veiculos.Where(v => v.GetCodigo() == cod).FirstOrDefault(); if (veiculo == null) { throw new Exception(); } TelaConfirmarAluguel(veiculo); string resp = Console.ReadLine().ToUpper(); if (resp == "S") { veiculo.AlterarStatus(new Alugar()); Console.WriteLine("ALUGADO COM SUCESSO!!!"); } } catch (Exception ex) { Console.WriteLine("CÓDIGO INVÁLIDO"); } break; case "2": TelaDevolverVeiculo(veiculos); try { int cod = Int32.Parse(Console.ReadLine()); Veiculo veiculo = veiculos.Where(v => v.GetCodigo() == cod).FirstOrDefault(); if (veiculo == null) { throw new Exception(); } TelaConfirmarDevolucao(veiculo); string resp = Console.ReadLine().ToUpper(); if (resp == "S") { veiculo.AlterarStatus(new Disponivel()); Console.WriteLine("DEVOLVIDO COM SUCESSO!!!"); } } catch (Exception ex) { Console.WriteLine("CÓDIGO INVÁLIDO"); } break; case "3": TelaRevisarVeiculo(veiculos); try { int cod = Int32.Parse(Console.ReadLine()); Veiculo veiculo = veiculos.Where(v => v.GetCodigo() == cod).FirstOrDefault(); if (veiculo == null) { throw new Exception(); } TelaConfirmarRevisao(veiculo); string resp = Console.ReadLine().ToUpper(); if (resp == "S") { veiculo.AlterarStatus(new Revisar()); Console.WriteLine("ENVIADO PARA REVISÃO COM SUCESSO!!!"); } } catch (Exception ex) { Console.WriteLine("CÓDIGO INVÁLIDO"); } break; case "4": TelaTodosVeiculos(veiculos); break; case "Q": quit = true; break; default: Console.WriteLine("OPÇÃO INVÁLIDA!"); break; } Console.WriteLine(); if (!quit) { Console.WriteLine("PRECIONE QUALQUER TECLA PARA CONTINUAR..."); } else { Console.WriteLine("Bye..."); Thread.Sleep(1500); } } while (!quit); }