private static void SeedMidwives(BirthDbContext db)
        {
            Person M1  = new MidWife("Mary");
            Person M2  = new MidWife("Malfred");
            Person M3  = new MidWife("Marius");
            Person M4  = new MidWife("Marianne");
            Person M5  = new MidWife("Morten");
            Person M6  = new MidWife("Marie");
            Person M7  = new MidWife("Molly");
            Person M8  = new MidWife("Mingming");
            Person M9  = new MidWife("Mulle");
            Person M10 = new MidWife("Mads");

            db.Add(M1);
            db.Add(M2);
            db.Add(M3);
            db.Add(M4);
            db.Add(M5);
            db.Add(M6);
            db.Add(M7);
            db.Add(M8);
            db.Add(M9);
            db.Add(M10);

            db.SaveChanges();
            Console.WriteLine("Midwives added.");
        }
        private static void SeesSecretary(BirthDbContext db)
        {
            Person s1 = new Secretary("Susan");
            Person s2 = new Secretary("Simon");
            Person s3 = new Secretary("Sam");
            Person s4 = new Secretary("Susanne");

            db.Add(s1);
            db.Add(s2);
            db.Add(s3);
            db.Add(s4);

            db.SaveChanges();
            Console.WriteLine("Secretaries added.");
        }
        private static void SeedRestingRooms(BirthDbContext db)
        {
            Room r1 = new RestingRoom("R1");
            Room r2 = new RestingRoom("R2");
            Room r3 = new RestingRoom("R3");
            Room r4 = new RestingRoom("R4");
            Room r5 = new RestingRoom("R5");

            db.Add(r1);
            db.Add(r2);
            db.Add(r3);
            db.Add(r4);
            db.Add(r5);
            db.SaveChanges();
            Console.WriteLine("Resting rooms added.");
        }
        private static void SeedDoctors(BirthDbContext db)
        {
            Person D1 = new Doctor("Dorthe");
            Person D2 = new Doctor("Dennis");
            Person D3 = new Doctor("Dina");
            Person D4 = new Doctor("Daniel");
            Person D5 = new Doctor("Daniella");

            db.Add(D1);
            db.Add(D2);
            db.Add(D3);
            db.Add(D4);
            db.Add(D5);

            db.SaveChanges();
            Console.WriteLine("Doctors added.");
        }
        private static void SeedMaternityRooms(BirthDbContext db)
        {
            Room m1  = new MaternityRoom("M1");
            Room m2  = new MaternityRoom("M2");
            Room m3  = new MaternityRoom("M3");
            Room m4  = new MaternityRoom("M4");
            Room m5  = new MaternityRoom("M5");
            Room m6  = new MaternityRoom("M6");
            Room m7  = new MaternityRoom("M7");
            Room m8  = new MaternityRoom("M8");
            Room m9  = new MaternityRoom("M9");
            Room m10 = new MaternityRoom("M10");
            Room m11 = new MaternityRoom("M11");
            Room m12 = new MaternityRoom("M12");
            Room m13 = new MaternityRoom("M13");
            Room m14 = new MaternityRoom("M14");
            Room m15 = new MaternityRoom("M15");
            Room m16 = new MaternityRoom("M16");
            Room m17 = new MaternityRoom("M17");
            Room m18 = new MaternityRoom("M18");
            Room m19 = new MaternityRoom("M19");
            Room m20 = new MaternityRoom("M20");
            Room m21 = new MaternityRoom("M21");
            Room m22 = new MaternityRoom("M22");

            db.Add(m1);
            db.Add(m2);
            db.Add(m3);
            db.Add(m4);
            db.Add(m5);
            db.Add(m6);
            db.Add(m7);
            db.Add(m8);
            db.Add(m9);
            db.Add(m10);
            db.Add(m11);
            db.Add(m12);
            db.Add(m13);
            db.Add(m14);
            db.Add(m15);
            db.Add(m16);
            db.Add(m17);
            db.Add(m18);
            db.Add(m19);
            db.Add(m20);
            db.Add(m21);
            db.Add(m22);
            db.SaveChanges();
            Console.WriteLine("MaternityRooms Added");
        }
        private static void SeedBirthRooms(BirthDbContext db)
        {
            Room b1  = new BirthRoom("B1");
            Room b2  = new BirthRoom("B2");
            Room b3  = new BirthRoom("B3");
            Room b4  = new BirthRoom("B4");
            Room b5  = new BirthRoom("B5");
            Room b6  = new BirthRoom("B6");
            Room b7  = new BirthRoom("B7");
            Room b8  = new BirthRoom("B8");
            Room b9  = new BirthRoom("B9");
            Room b10 = new BirthRoom("B10");
            Room b11 = new BirthRoom("B11");
            Room b12 = new BirthRoom("B12");
            Room b13 = new BirthRoom("B13");
            Room b14 = new BirthRoom("B14");
            Room b15 = new BirthRoom("B15");

            db.Add(b1);
            db.Add(b2);
            db.Add(b3);
            db.Add(b4);
            db.Add(b5);
            db.Add(b6);
            db.Add(b7);
            db.Add(b8);
            db.Add(b9);
            db.Add(b10);
            db.Add(b11);
            db.Add(b12);
            db.Add(b13);
            db.Add(b14);
            db.Add(b15);

            db.SaveChanges();
            Console.WriteLine("Birth Rooms Added");
        }
        private static void SeedSHAssistans(BirthDbContext db)
        {
            Person SHA1  = new SocialHealthAssistant("Harry");
            Person SHA2  = new SocialHealthAssistant("Harper");
            Person SHA3  = new SocialHealthAssistant("Hans");
            Person SHA4  = new SocialHealthAssistant("Hope");
            Person SHA5  = new SocialHealthAssistant("Harriet");
            Person SHA6  = new SocialHealthAssistant("Hal");
            Person SHA7  = new SocialHealthAssistant("Hamlet");
            Person SHA8  = new SocialHealthAssistant("Hubert");
            Person SHA9  = new SocialHealthAssistant("Holger");
            Person SHA10 = new SocialHealthAssistant("Holmer");
            Person SHA11 = new SocialHealthAssistant("Hansi");
            Person SHA12 = new SocialHealthAssistant("Hylle");
            Person SHA13 = new SocialHealthAssistant("Henrik");
            Person SHA14 = new SocialHealthAssistant("Hermione");
            Person SHA15 = new SocialHealthAssistant("Heidi");
            Person SHA16 = new SocialHealthAssistant("Helene");
            Person SHA17 = new SocialHealthAssistant("Helena");
            Person SHA18 = new SocialHealthAssistant("Hailey");
            Person SHA19 = new SocialHealthAssistant("Henriette");
            Person SHA20 = new SocialHealthAssistant("Hanne");

            db.Add(SHA1);
            db.Add(SHA2);
            db.Add(SHA3);
            db.Add(SHA4);
            db.Add(SHA5);
            db.Add(SHA6);
            db.Add(SHA7);
            db.Add(SHA8);
            db.Add(SHA9);
            db.Add(SHA10);
            db.Add(SHA11);
            db.Add(SHA12);
            db.Add(SHA13);
            db.Add(SHA14);
            db.Add(SHA15);
            db.Add(SHA16);
            db.Add(SHA17);
            db.Add(SHA18);
            db.Add(SHA19);
            db.Add(SHA20);

            db.SaveChanges();
            Console.WriteLine("Social and Health Assistans added.");
        }
        private static void SeedNurses(BirthDbContext db)
        {
            Person N1  = new Nurse("Nete");
            Person N2  = new Nurse("Nathan");
            Person N3  = new Nurse("Natalie");
            Person N4  = new Nurse("Noel");
            Person N5  = new Nurse("Nadja");
            Person N6  = new Nurse("Nessa");
            Person N7  = new Nurse("Naja");
            Person N8  = new Nurse("Nikoline");
            Person N9  = new Nurse("Nik");
            Person N10 = new Nurse("Nikolaj");
            Person N11 = new Nurse("Niklas");
            Person N12 = new Nurse("Nor");
            Person N13 = new Nurse("Nazarat");
            Person N14 = new Nurse("Neo");
            Person N15 = new Nurse("Nasir");
            Person N16 = new Nurse("Niller");
            Person N17 = new Nurse("Niko");
            Person N18 = new Nurse("Niels");
            Person N19 = new Nurse("Niels-Erik");
            Person N20 = new Nurse("Niels-Ove");


            db.Add(N1);
            db.Add(N2);
            db.Add(N3);
            db.Add(N4);
            db.Add(N5);
            db.Add(N6);
            db.Add(N7);
            db.Add(N8);
            db.Add(N9);
            db.Add(N10);
            db.Add(N11);
            db.Add(N12);
            db.Add(N13);
            db.Add(N14);
            db.Add(N15);
            db.Add(N16);
            db.Add(N17);
            db.Add(N18);
            db.Add(N19);
            db.Add(N20);

            db.SaveChanges();
            Console.WriteLine("Nurses added.");
        }
        public static void AddBirth(BirthDbContext context)
        {
            // Til når brugeren skal vælge doctor og midwife.
            List <Doctor>  doctors  = context.Doctor.ToList();
            List <MidWife> midWives = context.MidWife.ToList();

            Console.WriteLine("Velkommen til reservation af fødsel");
            Console.WriteLine("-----------------------------------");

            Console.WriteLine("Hvad er navnet på barnet");
            string childName = Console.ReadLine();

            Console.WriteLine("Hvad er navnet på moderen til barnet");
            string motherName = Console.ReadLine();

            Console.WriteLine("Hvad er navnet på faderen til barnet");
            string fatherName = Console.ReadLine();

            Console.WriteLine("Hvilken dato vil du have reservationen til. Skriv på formen DD/MM/ÅÅÅÅ");
            string dato = Console.ReadLine();

            string[] datoOpsplittet = dato.Split("/");
            int      dag            = int.Parse(datoOpsplittet[0]);
            int      måned          = int.Parse(datoOpsplittet[1]);
            int      år             = int.Parse(datoOpsplittet[2]);

            Console.WriteLine("Hvilken tid vil du have reservationen. Skriv på formen TT.MM");
            string tid = Console.ReadLine();

            string[] tidOpsplittet = tid.Split(".");
            int      time          = int.Parse(tidOpsplittet[0]);
            int      minut         = int.Parse(tidOpsplittet[1]);

            Console.WriteLine("Hvilken jordmor vil du gerne have? Indtast tallet ud fra personen");
            int counter = 0;

            foreach (MidWife mW in midWives)
            {
                Console.WriteLine(counter + ". " + mW.FullName);
                counter++;
            }

            int valgtMidwife = int.Parse(Console.ReadLine());

            Console.WriteLine("Hvilken doktor vil du gerne have? Indtast tallet ud fra personen");
            counter = 0;
            foreach (Doctor dc in doctors)
            {
                Console.WriteLine(counter + ". " + dc.FullName);
                counter++;
            }

            int valgtDoctor = int.Parse(Console.ReadLine());

            Console.WriteLine("Du skal også have et fødselsrum reserveret, Vi finder ledige rum for dagen. \n Indtast tallet ud fra rummet");
            ShowAvailableRooms(context, new DateTime(år, måned, dag, time, minut, 00), "birthroom");
            int  valgtRumId      = int.Parse(Console.ReadLine());
            Room chosenBirthRoom = context.Room.SingleOrDefault(r => r.RoomId == valgtRumId);

            Console.WriteLine("Vil du også reservere et Maternityroom y/n");
            Room chosenMaternityRoom = null;

            if (Console.ReadLine().ToLower() == "y")
            {
                Console.WriteLine("MaternityRoom reservation \n Indtast tallet ud fra rummet");
                ShowAvailableRooms(context, new DateTime(år, måned, dag, time, minut, 00), "maternityroom");
                valgtRumId          = int.Parse(Console.ReadLine());
                chosenMaternityRoom = context.Room.SingleOrDefault(r => r.RoomId == valgtRumId);
            }
            Console.WriteLine("Vil du også reservere et restingroom y/n");
            Room chosenRestingRoom = null;

            if (Console.ReadLine().ToLower() == "y")
            {
                Console.WriteLine("RestingRoom reservation \n Indtast tallet ud fra rummet");
                ShowAvailableRooms(context, new DateTime(år, måned, dag, time, minut, 00), "restingroom");
                valgtRumId        = int.Parse(Console.ReadLine());
                chosenRestingRoom = context.Room.SingleOrDefault(r => r.RoomId == valgtRumId);
            }

            Console.WriteLine("Tak for dit info, vores super database vil nu oprette reservationen for dig");

            // Følgende kode opsætter de rigtige referencer m.m. Så dataen kan gemmes på databasen
            // Her oprettes de forskellige klasser
            Child        child1  = new Child(childName);
            Birth        birth1  = new Birth();
            Mother       mother1 = new Mother(motherName);
            FamilyMember father1 = new FamilyMember(fatherName, "Father");

            // Savechanges skal kaldes allerede nu, da child skal laves før birth ellers så kan EF core ikke finde ud af hvilken den skal lave først.
            context.Add(child1);
            context.SaveChanges();

            // Her sættes referencer
            birth1.Child = child1;
            DateTime PST = new DateTime(år, måned, dag, time, minut, 00);

            birth1.PlannedStartTime = PST;
            //child1.Birth = birth1;
            child1.Mother        = mother1;
            child1.FamilyMembers = new List <FamilyMember>();
            child1.FamilyMembers.Add(father1);
            mother1.Children = new List <Child>();
            mother1.Children.Add(child1);

            // Her sættes clinicians og deres births
            ClinicianBirth CB1 = new ClinicianBirth();

            CB1.Birth     = birth1;
            CB1.Clinician = doctors[valgtDoctor];
            ClinicianBirth CB2 = new ClinicianBirth();

            CB2.Birth     = birth1;
            CB2.Clinician = midWives[valgtMidwife];
            doctors[valgtDoctor].AssociatedBirths = new List <ClinicianBirth>();
            doctors[valgtDoctor].AssociatedBirths.Add(CB1);
            midWives[valgtMidwife].AssociatedBirths = new List <ClinicianBirth>();
            midWives[valgtMidwife].AssociatedBirths.Add(CB2);
            // Her sættes clinicians på selve birth
            birth1.Clinicians = new List <ClinicianBirth>();
            birth1.Clinicians.Add(CB1);
            birth1.Clinicians.Add(CB2);
            //


            // Her sættes reservationerne for alle rum.
            Reservation res1 = new Reservation();

            res1.ReservationStart        = new DateTime(år, måned, dag, time, minut, 00);
            res1.ReservationEnd          = res1.ReservationStart + TimeSpan.FromHours(5);
            res1.User                    = mother1;
            res1.ReservedRoom            = chosenBirthRoom;
            mother1.Reservations         = new List <Reservation>();
            chosenBirthRoom.Reservations = new List <Reservation>();
            mother1.Reservations.Add(res1);
            chosenBirthRoom.Reservations.Add(res1);

            Reservation res2 = new Reservation();

            if (chosenMaternityRoom != null)
            {
                res2.ReservationStart            = new DateTime(år, måned, dag, time, minut, 00);
                res2.ReservationEnd              = res2.ReservationStart + TimeSpan.FromDays(5);
                res2.User                        = mother1;
                res2.ReservedRoom                = chosenMaternityRoom;
                chosenMaternityRoom.Reservations = new List <Reservation>();
                mother1.Reservations.Add(res2);
                chosenMaternityRoom.Reservations.Add(res2);
            }

            Reservation res3 = new Reservation();

            if (chosenRestingRoom != null)
            {
                res3.ReservationStart          = new DateTime(år, måned, dag, time, minut, 00) + TimeSpan.FromHours(5);
                res3.ReservationEnd            = res3.ReservationStart + TimeSpan.FromHours(4);
                res3.User                      = mother1;
                res3.ReservedRoom              = chosenRestingRoom;
                chosenRestingRoom.Reservations = new List <Reservation>();
                mother1.Reservations.Add(res3);
                chosenRestingRoom.Reservations.Add(res3);
            }
            // Alt gemmes og reservationen er gemmenført
            context.SaveChanges();

            Console.WriteLine($"Reservation til den {dato}, med personerne {childName}, {motherName} og {fatherName} er gennemført og gemt");
        }