private void CreateUserAndRoles(BowDbContext context) { //Admin role for tenancy owner var adminRoleForTenancyOwner = context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == "Admin"); if (adminRoleForTenancyOwner == null) { adminRoleForTenancyOwner = context.Roles.Add(new Role(null, "Admin", "Admin")); context.SaveChanges(); } //Admin user for tenancy owner var adminUserForTenancyOwner = context.Users.FirstOrDefault(u => u.TenantId == null && u.UserName == "admin"); if (adminUserForTenancyOwner == null) { adminUserForTenancyOwner = context.Users.Add( new User { TenantId = null, UserName = "******", Name = "System", Surname = "Administrator", EmailAddress = "*****@*****.**", IsEmailConfirmed = true, Password = "******" //123qwe }); context.SaveChanges(); context.UserRoles.Add(new UserRole(adminUserForTenancyOwner.Id, adminRoleForTenancyOwner.Id)); context.SaveChanges(); } //Default tenant var defaultTenant = context.Tenants.FirstOrDefault(t => t.TenancyName == "Default"); if (defaultTenant == null) { defaultTenant = context.Tenants.Add(new Tenant("Default", "Default")); context.SaveChanges(); } //Admin role for 'Default' tenant var adminRoleForDefaultTenant = context.Roles.FirstOrDefault(r => r.TenantId == defaultTenant.Id && r.Name == "Admin"); if (adminRoleForDefaultTenant == null) { adminRoleForDefaultTenant = context.Roles.Add(new Role(defaultTenant.Id, "Admin", "Admin")); context.SaveChanges(); //Permission definitions for Admin of 'Default' tenant context.Permissions.Add(new RolePermissionSetting { RoleId = adminRoleForDefaultTenant.Id, Name = "CanDeleteAnswers", IsGranted = true }); context.Permissions.Add(new RolePermissionSetting { RoleId = adminRoleForDefaultTenant.Id, Name = "CanDeleteQuestions", IsGranted = true }); context.SaveChanges(); } //User role for 'Default' tenant var userRoleForDefaultTenant = context.Roles.FirstOrDefault(r => r.TenantId == defaultTenant.Id && r.Name == "User"); if (userRoleForDefaultTenant == null) { userRoleForDefaultTenant = context.Roles.Add(new Role(defaultTenant.Id, "User", "User")); context.SaveChanges(); //Permission definitions for User of 'Default' tenant context.Permissions.Add(new RolePermissionSetting { RoleId = userRoleForDefaultTenant.Id, Name = "CanCreateQuestions", IsGranted = true }); context.SaveChanges(); } //Admin for 'Default' tenant var adminUserForDefaultTenant = context.Users.FirstOrDefault(u => u.TenantId == defaultTenant.Id && u.UserName == "admin"); if (adminUserForDefaultTenant == null) { adminUserForDefaultTenant = context.Users.Add( new User { TenantId = defaultTenant.Id, UserName = "******", Name = "System", Surname = "Administrator", EmailAddress = "*****@*****.**", IsEmailConfirmed = true, Password = "******" //123qwe }); context.SaveChanges(); context.UserRoles.Add(new UserRole(adminUserForDefaultTenant.Id, adminRoleForDefaultTenant.Id)); context.UserRoles.Add(new UserRole(adminUserForDefaultTenant.Id, userRoleForDefaultTenant.Id)); context.SaveChanges(); //var question1 = context.Questions.Add( // new Question( // "What's the answer of ultimate question of life the universe and everything?", // "What's the answer of ultimate question of life the universe and everything? Please answer this question!" // ) // ); //context.SaveChanges(); //question1.CreatorUserId = adminUserForDefaultTenant.Id; //context.SaveChanges(); } //User 'Emre' for 'Default' tenant var emreUserForDefaultTenant = context.Users.FirstOrDefault(u => u.TenantId == defaultTenant.Id && u.UserName == "emre"); if (emreUserForDefaultTenant == null) { emreUserForDefaultTenant = context.Users.Add( new User { TenantId = defaultTenant.Id, UserName = "******", Name = "Yunus Emre", Surname = "Kalkan", EmailAddress = "*****@*****.**", IsEmailConfirmed = true, Password = "******" //123qwe }); context.SaveChanges(); context.UserRoles.Add(new UserRole(emreUserForDefaultTenant.Id, userRoleForDefaultTenant.Id)); context.SaveChanges(); //var question2 = context.Questions.Add( // new Question( // "Jquery content replacement not working within my function", // @"What I am trying to achieve, and I am nearly there, is the user clicks on a checkbox and it turns green (Checkbox-active class). However, I also want the text/content of the clicked element to change to ""Activated"" and then reverts back to the original text when clicked again or on a sibling." // ) // ); //context.SaveChanges(); //question2.CreatorUserId = emreUserForDefaultTenant.Id; //context.SaveChanges(); } }
public void Build(BowDbContext context) { //context.DisableAllFilters(); CreateUserAndRoles(context); }