diff --git a/Lieb/Data/DbInitializer.cs b/Lieb/Data/DbInitializer.cs index ce0471b..95f050a 100644 --- a/Lieb/Data/DbInitializer.cs +++ b/Lieb/Data/DbInitializer.cs @@ -1,4 +1,5 @@ using Lieb.Models; +using Microsoft.EntityFrameworkCore; namespace Lieb.Data { @@ -6,26 +7,29 @@ namespace Lieb.Data { public static void Initialize(LiebContext context) { - // Look for any students. + //add new Roles + List roles = new List(); + foreach (string roleName in Constants.Roles.GetAllRoles()) + { + if (context.LiebRoles.FirstOrDefault(r => r.RoleName == roleName) == null) + { + roles.Add(new LiebRole() + { + RoleName = roleName + }); + } + } + context.LiebRoles.AddRange(roles); + context.SaveChanges(); + + + // Look for any LiebUsers. if (context.LiebUsers.Any()) { return; // DB has been seeded } - List roles = new List(); - foreach (string roleName in Constants.Roles.GetAllRoles()) - { - LiebRole role = new LiebRole() - { - RoleName = roleName - }; - roles.Add(role); - } - - context.LiebRoles.AddRange(roles); - context.SaveChanges(); - var users = new LiebUser[] { new LiebUser{DiscordUserId=194863625477816321, Name="Sarah", Birthday=DateTime.Parse("1992-01-15")}, @@ -37,24 +41,28 @@ namespace Lieb.Data context.SaveChanges(); + int AdminRoleId = context.LiebRoles.FirstOrDefault(x => x.RoleName == Constants.Roles.Admin).LiebRoleId; + int GuildLeadRoleId = context.LiebRoles.FirstOrDefault(x => x.RoleName == Constants.Roles.GuildLead).LiebRoleId; + int RaidLeadRoleId = context.LiebRoles.FirstOrDefault(x => x.RoleName == Constants.Roles.RaidLead).LiebRoleId; + int UserRoleId = context.LiebRoles.FirstOrDefault(x => x.RoleName == Constants.Roles.User).LiebRoleId; + var assignments = new RoleAssignment[] { - new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.Admin).LiebRoleId }, - new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.GuildLead).LiebRoleId }, - new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.RaidLead).LiebRoleId }, - new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.User).LiebRoleId }, - new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.Admin).LiebRoleId }, - new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.GuildLead).LiebRoleId }, - new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.RaidLead).LiebRoleId }, - new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.User).LiebRoleId }, - new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.GuildLead).LiebRoleId }, - new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.RaidLead).LiebRoleId }, - new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.User).LiebRoleId } + new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = AdminRoleId }, + new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = GuildLeadRoleId }, + new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = RaidLeadRoleId }, + new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = UserRoleId }, + new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = AdminRoleId }, + new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = GuildLeadRoleId }, + new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = RaidLeadRoleId }, + new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = UserRoleId }, + new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = GuildLeadRoleId }, + new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = RaidLeadRoleId }, + new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = UserRoleId } }; context.RoleAssignments.AddRange(assignments); context.SaveChanges(); - } } }