// Bilmenu som venter på et af de gyldige inputs public static void Bilmenu() { while (true) { Console.Clear(); Funktioner fejlHånd = new Funktioner(); Console.WriteLine("Bil menu"); Console.WriteLine(); Console.WriteLine("[1] Opret bil"); Console.WriteLine("[2] Søg efter bil"); Console.WriteLine("[3] Liste over Biler"); Console.WriteLine("[ESC] Tryk ESC for at lukke"); Console.Write("Valg: "); ConsoleKey menuValg = Console.ReadKey(true).Key; Console.Clear(); switch (menuValg) { case ConsoleKey.D1: // Sender brugeren til en metode med en menu hvor man opretter en ny bil fejlHånd.OpretBil(); break; case ConsoleKey.D2: Console.WriteLine("Søg efter bil med vilkårlig info"); Console.Write("Søg: "); string bil = Console.ReadLine(); Biler.BilSøgning(bil); fejlHånd.BilMuligheder(); break; case ConsoleKey.D3: Console.Clear(); Biler.BilListe(); fejlHånd.BilMuligheder(); Console.ReadKey(); break; // Sender personen tilbage til hovedmenuen case ConsoleKey.Escape: Main(null); break; } } }
public void OpretBesøg(string bilValg, bool retOrOpret) { bool trueDate = false; string dato = null; Console.Clear(); if (!trueDate) { // Dagen på ugen Console.Write("Skriv dagens dato for besøget [DD]: "); if (int.TryParse(Console.ReadLine(), out int datoDag)) //tjekker om tallet indeholder bogstaver { if (datoDag > 31 || datoDag < 1) //tjekker om tallet er i orden { Console.WriteLine("Dagens dato er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } } else { Console.WriteLine("Dagens dato er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } // Måneden på året Console.Write("Skriv månedens dato for besøget [MM]: "); if (int.TryParse(Console.ReadLine(), out int datoMåned)) //tjekker om tallet indeholder bogstaver { if (datoMåned > 12 || datoMåned < 1) //tjekker om tallet er i orden { Console.WriteLine("Måneden er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } } else { Console.WriteLine("Måneden er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } // Året på besøget Console.Write("Skriv året for besøget [YYYY]: "); if (int.TryParse(Console.ReadLine(), out int datoÅr)) //tjekker om tallet indeholder bogstaver { if (datoÅr > 9999 || datoÅr < 1000) //tjekker om tallet er i orden { Console.WriteLine("Året er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } } else { Console.WriteLine("Året er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } // Timer på klokkeslettet Console.Write("Skriv timeslettet for besøget [TT]: "); if (int.TryParse(Console.ReadLine(), out int datoTimer)) //tjekker om tallet indeholder bogstaver { if (datoTimer > 23 || datoTimer < 0) //tjekker om tallet er i orden { Console.WriteLine("Timerne er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } } else { Console.WriteLine("Timerne er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } // Minutter på klokkeslettet Console.Write("Skriv minutslettet for besøget [MM]: "); if (int.TryParse(Console.ReadLine(), out int datoMinutter)) //tjekker om tallet indeholder bogstaver { if (datoMinutter > 59 || datoMinutter < 0) //tjekker om tallet er i orden { Console.WriteLine("Minutter er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } } else { Console.WriteLine("Minutter er indtastet forkert!"); Console.ReadKey(); OpretBesøg(bilValg, retOrOpret); } dato = $"{datoDag.ToString("00")}-{datoMåned.ToString("00")}-{datoÅr.ToString("0000")} {datoTimer.ToString("00")}:{datoMinutter.ToString("00")}"; trueDate = true; //hvis man er nået hertil så er alt godt } if (trueDate && retOrOpret || !retOrOpret) //hvis man har indtastet information { //opretter eller retter ud fra boolen retOrOpret if (retOrOpret) { Besøg.OpretBesøg(bilValg, dato); } else { Besøg.RetBesøg(bilValg, dato); } } Console.WriteLine("Besøgstid er nu oprettet"); Console.ReadKey(); Console.Clear(); Biler.BilListe(); BilMuligheder(); //går tilbage til menuen }