using Indotalent.Data.Entities; using Microsoft.EntityFrameworkCore; namespace Indotalent.Infrastructure.Database.Demo; public static class BookingResourceSeeder { public static async Task GenerateDataAsync(AppDbContext context) { if (await context.BookingResource.AnyAsync()) return; var groups = await context.BookingGroup.ToListAsync(); var resources = new List(); foreach (var group in groups) { if (group.Name == "General Practice Consultations") { resources.Add(new BookingResource { Name = "GP Consultation Room 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "GP Consultation Room 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "GP Consultation Room 3", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "GP Consultation Room 4", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Walk-in Clinic Room A", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Walk-in Clinic Room B", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Telemedicine Booth 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Telemedicine Booth 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Triage Station 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Triage Station 2", BookingGroupId = group.Id }); } if (group.Name == "Specialist Consultations") { resources.Add(new BookingResource { Name = "Cardiology Suite", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Dermatology Exam Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Orthopedic Consult Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Neurology Exam Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Gastroenterology Suite", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "ENT Examination Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Psychiatry Consult Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Ophthalmology Exam Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Endocrinology Office", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Specialist VIP Suite", BookingGroupId = group.Id }); } if (group.Name == "Dental Care & Procedures") { resources.Add(new BookingResource { Name = "Dental Chair 1 - General", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Dental Chair 2 - General", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Dental Chair 3 - Hygiene", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Dental Chair 4 - Hygiene", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Orthodontic Suite", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Pediatric Dental Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Oral Surgery Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Endodontic Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Dental X-Ray Booth", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Cosmetic Dental Suite", BookingGroupId = group.Id }); } if (group.Name == "Laboratory & Blood Testing") { resources.Add(new BookingResource { Name = "Phlebotomy Station 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Phlebotomy Station 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Phlebotomy Station 3", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Phlebotomy Station 4", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Private Draw Room A", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Private Draw Room B", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Specimen Collection Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Urinalysis Restroom 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Urinalysis Restroom 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Rapid Testing Bay", BookingGroupId = group.Id }); } if (group.Name == "Radiology & Diagnostic Imaging") { resources.Add(new BookingResource { Name = "X-Ray Room A", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "X-Ray Room B", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Ultrasound Room 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Ultrasound Room 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "MRI Suite", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "CT Scan Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Mammography Suite", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Bone Density Scan Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Echocardiogram Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Fluoroscopy Bay", BookingGroupId = group.Id }); } if (group.Name == "Physical Therapy & Rehabilitation") { resources.Add(new BookingResource { Name = "PT Treatment Room 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "PT Treatment Room 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "PT Treatment Room 3", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Manual Therapy Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Rehab Gym Area", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Gait Analysis Walkway", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Ultrasound Therapy Bay", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "TENS & Stim Station", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Pediatric PT Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Sports Rehab Zone", BookingGroupId = group.Id }); } if (group.Name == "Maternal & Women's Health") { resources.Add(new BookingResource { Name = "OBGYN Exam Room 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "OBGYN Exam Room 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "OBGYN Exam Room 3", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Fetal Monitoring Bay A", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Fetal Monitoring Bay B", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Lactation Consulting Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Family Planning Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Women's Wellness Suite", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Maternity Triage", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Colposcopy Room", BookingGroupId = group.Id }); } if (group.Name == "Pediatric Care & Immunizations") { resources.Add(new BookingResource { Name = "Pediatric Exam Room A", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Pediatric Exam Room B", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Pediatric Exam Room C", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Well-Baby Checkup Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Immunization Station 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Immunization Station 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Pediatric Triage Bay", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Adolescent Care Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Nebulizer Station", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Child Development Room", BookingGroupId = group.Id }); } if (group.Name == "Minor Surgical Procedures") { resources.Add(new BookingResource { Name = "Minor Procedure Room 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Minor Procedure Room 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Outpatient Surgery Suite", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Suture & Laceration Bay", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Dermatology Procedure Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Cryotherapy Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Laser Treatment Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Prep & Recovery Bed 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Prep & Recovery Bed 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Prep & Recovery Bed 3", BookingGroupId = group.Id }); } if (group.Name == "Health Screening & Medical Checkups") { resources.Add(new BookingResource { Name = "Executive Checkup Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Basic Screening Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Biometric Station 1", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Biometric Station 2", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Vision Testing Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Audiology Booth", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "ECG & Treadmill Room", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Vitals Station A", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Vitals Station B", BookingGroupId = group.Id }); resources.Add(new BookingResource { Name = "Consultation Finalization Room", BookingGroupId = group.Id }); } } await context.BookingResource.AddRangeAsync(resources); await context.SaveChangesAsync(); } }