static void MakeReservation()
        {
            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();
            }

            bool notTrue = true;

            while (notTrue)
            {
                string choice = Console.ReadLine();

                switch (choice)
                {
                case "a":
                    Console.WriteLine($"Vælg et id mellem 1 og {numberOfMaternityRooms}:");
                    notTrue = false;
                    break;

                case "b":
                    Console.WriteLine(
                        $"Vælg et id mellem {numberOfMaternityRooms + 1} og {numberOfRestRoom4HoursRooms + numberOfMaternityRooms}:");
                    notTrue = false;
                    break;

                case "c":
                    Console.WriteLine(
                        $"Vælg et id mellem {numberOfMaternityRooms + numberOfRestRoom4HoursRooms + 1} og {numberOfBirthRoomsRooms + numberOfMaternityRooms + numberOfRestRoom4HoursRooms}:");
                    notTrue = false;
                    break;

                default:
                    Console.WriteLine($"Vælg et gyldigt bogstav");
                    break;
                }
            }

            int         choice1        = int.Parse(Console.ReadLine());
            Reservation newReservation = new Reservation();

            newReservation.RoomId = choice1;
            Console.WriteLine($"Vælg en start dato for din reservation.");
            newReservation.ReservationStartDate = ReservationDate();

            Console.WriteLine($"Vælg en s**t dato for din reservation.");
            newReservation.ReservationEndDate = ReservationDate();

            using (BirthClinicPlanningContext makeReservation = new BirthClinicPlanningContext())
            {
                makeReservation.Add(newReservation);
                makeReservation.SaveChanges();
            }
        }
 public DatabaseSearch(BirthClinicPlanningContext context)
 {
     _context = context;
 }
        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 AddData()
        {
            using (BirthClinicPlanningContext context = new BirthClinicPlanningContext())
            {
                Birth b1 = new Birth();
                b1.PlannedStartDate = DateTime.Now;
                b1.PlannedEndDate   = DateTime.Now.AddDays(1);

                Birth b2 = new Birth();
                b2.PlannedStartDate = DateTime.Now.AddDays(4);
                b2.PlannedEndDate   = DateTime.Now.AddDays(5);

                Birth b3 = new Birth();
                b3.PlannedStartDate = DateTime.Now.AddDays(1);
                b3.PlannedEndDate   = DateTime.Now.AddDays(2);

                Mother m1 = new Mother("Simone Schou Jensen");
                Father f1 = new Father("Simon Bjermand Kjær");

                Child c1 = new Child();
                c1.Birth = b1;

                RelativesChild rc1 = new RelativesChild();
                rc1.Child     = c1;
                rc1.Relatives = m1;

                Works w1 = new Works();
                w1.Birth      = b1;
                w1.EmployeeId = 27;

                Clinicians e1 = context.Clinicians.Find(27);

                e1.BirthRoomId = 1;

                context.Update(e1);

                Clinicians e2 = context.Clinicians.Find(1);

                e2.BirthRoomId = 2;

                context.Update(e1);

                Works w2 = new Works();
                w2.Birth      = b2;
                w2.EmployeeId = 1;

                Reservation r1 = context.Reservations.Find(28);
                r1.Relatives            = m1;
                r1.ReservationStartDate = DateTime.Now;
                r1.ReservationEndDate   = DateTime.Now.AddDays(2);

                r1.RoomId = 28;

                context.Update(r1);

                Reservation r2 = context.Reservations.Find(1);
                r2.Relatives            = m1;
                r2.ReservationStartDate = DateTime.Now.AddDays(2);
                r2.ReservationEndDate   = DateTime.Now.AddDays(3);

                r2.RoomId = 1;

                context.Update(r2);

                Reservation r3 = context.Reservations.Find(13);
                r3.Relatives            = m1;
                r3.ReservationStartDate = DateTime.Now;
                r3.ReservationEndDate   = DateTime.Now.AddDays(3);

                r3.RoomId = 13;

                context.Update(r3);

                context.Add(b1);
                context.Add(b2);
                context.Add(b3);
                context.Add(c1);
                context.Add(m1);
                context.Add(f1);
                context.Add(rc1);
                context.Add(w1);
                context.Add(w2);

                context.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;
                }
            }
        }
Exemple #6
0
 public DatabaseAlterData(BirthClinicPlanningContext context)
 {
     _context = context;
 }