reworked dbInitializer to always add new roles
This commit is contained in:
parent
bca270757c
commit
6da9b06e8a
1 changed files with 34 additions and 26 deletions
|
@ -1,4 +1,5 @@
|
||||||
using Lieb.Models;
|
using Lieb.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace Lieb.Data
|
namespace Lieb.Data
|
||||||
{
|
{
|
||||||
|
@ -6,26 +7,29 @@ namespace Lieb.Data
|
||||||
{
|
{
|
||||||
public static void Initialize(LiebContext context)
|
public static void Initialize(LiebContext context)
|
||||||
{
|
{
|
||||||
// Look for any students.
|
//add new Roles
|
||||||
|
List<LiebRole> roles = new List<LiebRole>();
|
||||||
|
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())
|
if (context.LiebUsers.Any())
|
||||||
{
|
{
|
||||||
return; // DB has been seeded
|
return; // DB has been seeded
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<LiebRole> roles = new List<LiebRole>();
|
|
||||||
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[]
|
var users = new LiebUser[]
|
||||||
{
|
{
|
||||||
new LiebUser{DiscordUserId=194863625477816321, Name="Sarah", Birthday=DateTime.Parse("1992-01-15")},
|
new LiebUser{DiscordUserId=194863625477816321, Name="Sarah", Birthday=DateTime.Parse("1992-01-15")},
|
||||||
|
@ -37,24 +41,28 @@ namespace Lieb.Data
|
||||||
context.SaveChanges();
|
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[]
|
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 = AdminRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.GuildLead).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = GuildLeadRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.RaidLead).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = RaidLeadRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.User).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[0].LiebUserId, LiebRoleId = UserRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.Admin).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = AdminRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.GuildLead).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = GuildLeadRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.RaidLead).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = RaidLeadRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.User).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[1].LiebUserId, LiebRoleId = UserRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.GuildLead).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = GuildLeadRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.RaidLead).LiebRoleId },
|
new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = RaidLeadRoleId },
|
||||||
new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = roles.FirstOrDefault(x => x.RoleName == Constants.Roles.User).LiebRoleId }
|
new RoleAssignment{LiebUserId = users[2].LiebUserId, LiebRoleId = UserRoleId }
|
||||||
};
|
};
|
||||||
|
|
||||||
context.RoleAssignments.AddRange(assignments);
|
context.RoleAssignments.AddRange(assignments);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue