예제 #1
0
        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();
            }
        }
예제 #2
0
        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;
                }
            }
        }