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 vehicleGroup = await context.BookingGroup.Where(x => x.Name == "Vehicle").SingleOrDefaultAsync(); if (vehicleGroup != null) { var vehicleResources = new List { new BookingResource { Name = "Audi 01", BookingGroupId = vehicleGroup.Id }, new BookingResource { Name = "Audi 02", BookingGroupId = vehicleGroup.Id }, new BookingResource { Name = "Audi 03", BookingGroupId = vehicleGroup.Id }, new BookingResource { Name = "BMW 01", BookingGroupId = vehicleGroup.Id }, new BookingResource { Name = "BMW 02", BookingGroupId = vehicleGroup.Id }, new BookingResource { Name = "BMW 03", BookingGroupId = vehicleGroup.Id }, new BookingResource { Name = "Lexus 01", BookingGroupId = vehicleGroup.Id }, new BookingResource { Name = "Lexus 02", BookingGroupId = vehicleGroup.Id }, new BookingResource { Name = "Lexus 03", BookingGroupId = vehicleGroup.Id } }; await context.BookingResource.AddRangeAsync(vehicleResources); } var roomGroup = await context.BookingGroup.Where(x => x.Name == "Room").SingleOrDefaultAsync(); if (roomGroup != null) { var roomResources = new List { new BookingResource { Name = "Room One", BookingGroupId = roomGroup.Id }, new BookingResource { Name = "Room Two", BookingGroupId = roomGroup.Id }, new BookingResource { Name = "Room Three", BookingGroupId = roomGroup.Id }, new BookingResource { Name = "Conference One", BookingGroupId = roomGroup.Id }, new BookingResource { Name = "Conference Two", BookingGroupId = roomGroup.Id }, new BookingResource { Name = "Conference Three", BookingGroupId = roomGroup.Id }, new BookingResource { Name = "Studio One", BookingGroupId = roomGroup.Id }, new BookingResource { Name = "Studio Two", BookingGroupId = roomGroup.Id }, new BookingResource { Name = "Studio Three", BookingGroupId = roomGroup.Id } }; await context.BookingResource.AddRangeAsync(roomResources); } var electronicGroup = await context.BookingGroup.Where(x => x.Name == "Electronic").SingleOrDefaultAsync(); if (electronicGroup != null) { var electronicResources = new List { new BookingResource { Name = "Epson Projector", BookingGroupId = electronicGroup.Id }, new BookingResource { Name = "Sony Projector", BookingGroupId = electronicGroup.Id }, new BookingResource { Name = "Bose Speaker", BookingGroupId = electronicGroup.Id }, new BookingResource { Name = "JBL Speaker", BookingGroupId = electronicGroup.Id }, new BookingResource { Name = "Microsoft Webcam", BookingGroupId = electronicGroup.Id }, new BookingResource { Name = "Logitech Webcam", BookingGroupId = electronicGroup.Id }, new BookingResource { Name = "Google Chromecast", BookingGroupId = electronicGroup.Id }, new BookingResource { Name = "Apple TV", BookingGroupId = electronicGroup.Id }, new BookingResource { Name = "Samsung Monitor 49", BookingGroupId = electronicGroup.Id } }; await context.BookingResource.AddRangeAsync(electronicResources); } await context.SaveChangesAsync(); } }