From a6e9911eab809519461dca5b4c12783f52d5190e Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 21 Mar 2017 11:26:06 -0400 Subject: [PATCH] We now seed some fundamental roles on db create --- Project-Unite/Migrations/Configuration.cs | 41 ++++++++++++++++------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/Project-Unite/Migrations/Configuration.cs b/Project-Unite/Migrations/Configuration.cs index a53d73e..3f3fa57 100644 --- a/Project-Unite/Migrations/Configuration.cs +++ b/Project-Unite/Migrations/Configuration.cs @@ -9,24 +9,41 @@ internal sealed class Configuration : DbMigrationsConfiguration.AddOrUpdate() helper extension method - // to avoid creating duplicate seed data. E.g. - // - // context.People.AddOrUpdate( - // p => p.FullName, - // new Person { FullName = "Andrew Peters" }, - // new Person { FullName = "Brice Lambson" }, - // new Person { FullName = "Rowan Miller" } - // ); - // + var adm = new Models.Role + { + Id = "administrator", + ColorHex = "#FF0000", + Description = "These are the admins of the website - This is a persistent group and cannot be deleted.", + Priority = context.Roles.Count() + 1, + Name = "Administrators" + }); + foreach (var prop in adm.GetType().GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)) + { + if (prop.Name.StartsWith("Can") && prop.PropertyType == typeof(bool)) + { + prop.SetValue(adm, true); + } + } + context.Roles.AddOrUpdate(adm); + var userRole = new Models.Role + { + Name = "Users", + Id = "user", + Description = "This is the default role for all new users. This role's priority may not be modified, and this role may not be deleted.", + Priority = 0, + ColorHex = "#FFF" + }; + context.Roles.AddOrUpdate(userRole); + + } + } }