static void Main(string[] args) { var startDentist = new Dentist("", "", "", "", "", 0, ""); var startCustomer = new Customer("", "", "", "", ""); var startReservation = new Reservation("", "", "", DateTime.Now); bool Exit = false; while (!Exit) { Clear(); SetCursorPosition(1, 1); WriteLine("1. Boka besök"); SetCursorPosition(1, 3); WriteLine("2. Lista bokningar"); SetCursorPosition(1, 5); WriteLine("3. Lägg till Kund"); SetCursorPosition(1, 7); WriteLine("4. Lägg till Tandläkare"); SetCursorPosition(1, 9); WriteLine("5. Exit"); ConsoleKeyInfo menuChoice = ReadKey(true); Clear(); switch (menuChoice.Key) //Boka Besök { case ConsoleKey.D1: case ConsoleKey.NumPad1: startReservation.CreateReservation(); break; case ConsoleKey.D2: //Lista bokningar case ConsoleKey.NumPad2: startReservation.ListReservations(); break; case ConsoleKey.D3: //Lägg till kund case ConsoleKey.NumPad3: startCustomer.CreatCustomer(); break; case ConsoleKey.D4: // Lägg till Tandläkare case ConsoleKey.NumPad4: startDentist.CreateDentist(); break; case ConsoleKey.D5: case ConsoleKey.NumPad5: Exit = true; break; default: break; } } }
static void Main(string[] args) { bool shouldNotExit = true; while (shouldNotExit) { Clear(); WriteLine("1. Skapa bokning"); WriteLine("2. List bokning"); WriteLine("3. Register kund"); WriteLine("4. Registrera anstäld"); WriteLine("5. Lista anställd"); WriteLine("6. Avsluta"); ConsoleKeyInfo keyPressed = ReadKey(true); Clear(); switch (keyPressed.Key) { case ConsoleKey.D1: case ConsoleKey.NumPad1: bool isBooked = false; do { Clear(); Write("Personnummer: "); string socialSecuirtyNumber = ReadLine(); Write("Anledning: "); string reason = ReadLine(); Write("Utförs av (ID): "); string employeeId = ReadLine(); Write("Datum (yyyy-mm-dd hh:mm): "); DateTime date = DateTime.Parse(ReadLine()); WriteLine("Är dettta rätt ? (J)a eller (N)ej"); bool validKeyPressed; do { // Vi skriver true därför att vi vill inte att tecknad skriver upp på skärmen. keyPressed = ReadKey(true); validKeyPressed = keyPressed.Key == ConsoleKey.J || keyPressed.Key == ConsoleKey.N; }while (!validKeyPressed); if (keyPressed.Key == ConsoleKey.J) { // Här hitta vi en patient om vi hittar ej patient då visar den "kund ej registrerad" // annars kommer den lägga in en ny booking med existerande patient. Patient patient = FindPatientBySocialSecurityNumber(socialSecuirtyNumber); if (patient == null) { Clear(); WriteLine("Kund ej registrerad"); Thread.Sleep(2000); } else { Employee employee = FindEmployeeById(employeeId); if (employee == null) { Clear(); WriteLine("Anställd är ej regisrerad"); Thread.Sleep(2000); } else { // create booking... CreateBooking( patient, employee, reason, date); Clear(); WriteLine("Booking skappad"); Thread.Sleep(2000); Clear(); } } isBooked = true; } } while (!isBooked); break; case ConsoleKey.D2: case ConsoleKey.NumPad2: ListBooking(); break; case ConsoleKey.D3: case ConsoleKey.NumPad3: { bool isValidInput = false; do { Clear(); Write("Förnamn: "); string firstName = ReadLine(); Write("Efternam: "); string lastName = ReadLine(); Write("Personnummer: "); string socialSecuirtyNumber = ReadLine(); Write("Telefonummer: "); string phoneNumber = ReadLine(); Write("E-mail: "); string email = ReadLine(); WriteLine("Är dettta rätt ? (J)a eller (N)ej"); bool validKeyPressed; do { // Vi skriver true därför att vi vill inte att tecknad skriver upp på skärmen. keyPressed = ReadKey(true); validKeyPressed = keyPressed.Key == ConsoleKey.J || keyPressed.Key == ConsoleKey.N; }while (!validKeyPressed); if (keyPressed.Key == ConsoleKey.J) { // Den metoden kommer retunera en patient. Patient patient = FindPatientBySocialSecurityNumber(socialSecuirtyNumber); // Om ny patient finns inte i register redan då kommer vi skapa och lägga in i listan. if (patient == null) { // Creating new patient patient = new Patient(firstName, lastName, socialSecuirtyNumber, phoneNumber, email); patientList.Add(patient); Clear(); WriteLine("Kund registrerad"); Thread.Sleep(2000); } else { Clear(); WriteLine("Patient redan registrerad"); Thread.Sleep(2000); } isValidInput = true; } } while (!isValidInput); } break; case ConsoleKey.D4: case ConsoleKey.NumPad4: { bool isValidInput = false; do { Clear(); Write("Förnamn: "); string firstName = ReadLine(); Write("Efternam: "); string lastName = ReadLine(); Write("Personnummer: "); string socialSecuirtyNumber = ReadLine(); Write("Telefonummer: "); string phoneNumber = ReadLine(); Write("E-mail: "); string email = ReadLine(); Write("ID: "); string id = ReadLine(); Write("Lön: "); ushort salary = ushort.Parse(ReadLine()); WriteLine("(1) Tandläkare (2) Tandhygiensit"); Write("Roll: "); string roll = ReadLine(); WriteLine("Är dettta rätt ? (J)a eller (N)ej"); bool validKeyPressed; do { // Vi skriver true därför att vi vill inte att tecknad skriver upp på skärmen. keyPressed = ReadKey(true); validKeyPressed = keyPressed.Key == ConsoleKey.J || keyPressed.Key == ConsoleKey.N; }while (!validKeyPressed); if (keyPressed.Key == ConsoleKey.J) { // Den metoden kommer retunera en employee. Employee employee = FindEmployeeById(id); //// Om ny employee finns inte i register redan då kommer vi skapa och lägga in i listan. if (employee == null) { switch (roll) { case "1": employee = new Dentist(firstName, lastName, socialSecuirtyNumber, phoneNumber, email, id, salary); break; case "2": employee = new DentalHygienist(firstName, lastName, socialSecuirtyNumber, phoneNumber, email, id, salary); break; } employeeList.Add(employee); Clear(); WriteLine("Anställd registrerad"); Thread.Sleep(2000); } else { Clear(); WriteLine("Anställd redan registrerad"); Thread.Sleep(2000); } isValidInput = true; } } while (!isValidInput); } break; case ConsoleKey.D5: case ConsoleKey.NumPad5: ListEmployee(); break; case ConsoleKey.D6: case ConsoleKey.NumPad6: shouldNotExit = false; break; } } }
public void CreateDentist() { SetCursorPosition(1, 1); Write("Förnamn: "); SetCursorPosition(1, 2); Write("Efternamn: "); SetCursorPosition(1, 3); Write("Personnummer: "); SetCursorPosition(1, 4); Write("Telefonnummer: "); SetCursorPosition(1, 5); Write("E-mail: "); SetCursorPosition(1, 6); Write("Lön: "); SetCursorPosition(1, 7); Write("Tandläkar ID: "); SetCursorPosition(1, 9); Write("Är detta rätt? (J)a (N)ej"); SetCursorPosition(1, 11); WriteLine("(L)ämna utan att spara?"); SetCursorPosition("Förnamn: ".Length + 1, 1); string firstName = ReadLine(); SetCursorPosition("Efternamn: ".Length + 1, 2); string lastName = ReadLine(); SetCursorPosition("Personnummmer: ".Length + 1, 3); string socialSercurityNumber = ReadLine(); SetCursorPosition("Telefonnummer: ".Length + 1, 4); string phoneNumber = ReadLine(); SetCursorPosition("E-mail: ".Length + 1, 5); string email = ReadLine(); SetCursorPosition("Lön: ".Length + 1, 6); int.TryParse(ReadLine(), out int salary); SetCursorPosition("Tandläkar ID: ".Length + 1, 7); string dentistID = ReadLine(); SetCursorPosition("Är detta rätt? (J)a (N)ej ".Length + 1, 9); bool Exit = false; while (!Exit) { ConsoleKeyInfo menuChoice = ReadKey(true); switch (menuChoice.Key) { case ConsoleKey.J: Dentist newDentist = new Dentist(firstName, lastName, socialSercurityNumber, phoneNumber, email, salary, dentistID); Clear(); if (Program.listOfDentists.ContainsKey(dentistID)) { WriteLine("Tandläkaren finns redan registrerad"); Thread.Sleep(1200); Clear(); CreateDentist(); } else { WriteLine($"Tandläkare {firstName} {lastName} registrerad"); Program.listOfDentists.Add(dentistID, newDentist); Thread.Sleep(1200); } Exit = true; break; case ConsoleKey.N: Clear(); CreateDentist(); break; case ConsoleKey.L: Exit = true; break; default: break; } } }