static void NewBirth(DatabaseSearch dbSearch) { int numberOfMaternityRooms = 0; int numberOfRestRoom4HoursRooms = 0; int numberOfBirthRoomsRooms = 0; using (BirthClinicPlanningContext numberOfRooms = new BirthClinicPlanningContext()) { numberOfMaternityRooms = numberOfRooms.MaternityRooms.Count(); numberOfRestRoom4HoursRooms = numberOfRooms.RestRoom4Hours.Count(); numberOfBirthRoomsRooms = numberOfRooms.BirthRooms.Count(); } Console.WriteLine($"Vælg en start dato for din fødsel."); Birth newBirth = new Birth(); newBirth.PlannedStartDate = ReservationDate(); Console.WriteLine($"Vælg en s**t dato for din fødsel."); newBirth.PlannedEndDate = ReservationDate(); Console.WriteLine($"Vælg et fødselserum mellem {numberOfMaternityRooms + numberOfRestRoom4HoursRooms + 1} og {numberOfBirthRoomsRooms + numberOfMaternityRooms + numberOfRestRoom4HoursRooms}: "); int choice3 = int.Parse(Console.ReadLine()); bool notDone = true; List <Works> workers = new List <Works>(); while (notDone) { Console.WriteLine("Tryk enter for at gå videre og 'e' for at afslutte"); if (Console.ReadKey().Key != ConsoleKey.E) { Works clinicianWorks = new Works(); clinicianWorks.Birth = newBirth; Console.WriteLine($"Vælg et ledig personale: "); dbSearch.ShowAvaliableClinciansAndRoomsForNextFiveDays(); Console.WriteLine("Indtast et Id på et ledig personale"); int choice4 = int.Parse(Console.ReadLine()); clinicianWorks.EmployeeId = choice4; workers.Add(clinicianWorks); } else { notDone = false; } } using (BirthClinicPlanningContext makeBirth = new BirthClinicPlanningContext()) { makeBirth.Add(newBirth); foreach (var works in workers) { makeBirth.Add(works); } makeBirth.SaveChanges(); } }
static void Main(string[] args) { //AddData(); BirthClinicPlanningContext context = new BirthClinicPlanningContext(); DatabaseSearch dbSearch = new DatabaseSearch(context); DatabaseAlterData dbAlter = new DatabaseAlterData(context); bool running = true; Console.WriteLine("Velkommen til BirthClinicPlanning!\n"); while (running) { Console.WriteLine("Vælg en af følgende muligheder: "); Console.WriteLine("1. Vis planlagte fødsler"); Console.WriteLine("2. Vis ledige rum for de kommende fire dage"); Console.WriteLine("3. Vis information om igangværende fødsler"); Console.WriteLine("4. Vis information om hvilerum i brug"); Console.WriteLine("5. Vis reserverede fødselsrum"); Console.WriteLine("6. Vis klinikere tilkoblet fødsler"); Console.WriteLine("7. Marker en fødsel som færdig"); Console.WriteLine("8. Annuller en reservation på et rum"); Console.WriteLine("9. Opret en fødsel"); Console.WriteLine("10. Opret en ny reservation"); Console.WriteLine("11. Luk programmet\n"); string input = Console.ReadLine(); switch (int.Parse(input)) { case 1: dbSearch.ShowPlannedBirths(); break; case 2: dbSearch.ShowAvaliableClinciansAndRoomsForNextFiveDays(); break; case 3: dbSearch.ShowInfoAboutOngoingBirths(); break; case 4: dbSearch.ShowInfoAboutRestRoomsInUse(); break; case 5: Console.WriteLine("Indtast fødsels id:"); int id1 = int.Parse(Console.ReadLine()); Console.WriteLine(""); dbSearch.ShowReservedRooms(id1); break; case 6: Console.WriteLine("Indtast fødsels id:"); int id2 = int.Parse(Console.ReadLine()); Console.WriteLine(""); dbSearch.ShowCliniciansAssignedBirths(id2); break; case 7: Console.WriteLine("Indtast fødsels id:"); int id3 = int.Parse(Console.ReadLine()); dbAlter.EndBirth(id3); break; case 8: Console.WriteLine("Indtast reservations id:"); int id4 = int.Parse(Console.ReadLine()); dbAlter.CancelReservation(id4); break; case 9: NewBirth(dbSearch); break; case 10: Console.WriteLine("Lav en reservation i en af disse rumtyper: \n a: Maternityroom \n b: Restroom (4 hours) \n c: Birthroom \n"); MakeReservation(); break; case 11: running = false; break; default: Console.WriteLine("Forkert input. Vælg et tal mellem 1 og 7.\n"); break; } } }