/// <summary> /// Adds a new role to the data source for the configured applicationName. /// </summary> /// <remarks>Inherited from RoleProvider ==> Forwarded to previous provider if this provider hasn't been initialized</remarks> /// <param name="roleName">The name of the role to create.</param> /// <exception cref="System.InvalidOperationException"></exception> /// <exception cref="System.Configuration.Provider.ProviderException"></exception> public override void CreateRole(string roleName) { if (!InitializeCalled) { PreviousProvider.CreateRole(roleName); } else { using (var db = NewMySqlSecurityDbContext) { int roleId = FindRoleId(db, roleName); if (roleId != -1) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, Resources.SimpleRoleProvider_RoleExists, roleName)); } db.Roles.Add(new Role { RoleName = roleName }); int rows = db.SaveChanges(); if (rows != 1) { throw new ProviderException(Resources.Security_DbFailure); } } } }
// Inherited from RoleProvider ==> Forwarded to previous provider if this provider hasn't been initialized public override void CreateRole(string roleName) { if (!InitializeCalled) { PreviousProvider.CreateRole(roleName); } else { using (var db = ConnectToDatabase()) { int roleId = FindRoleId(db, roleName); if (roleId != -1) { throw new InvalidOperationException( String.Format( CultureInfo.InvariantCulture, WebDataResources.SimpleRoleProvider_RoleExists, roleName ) ); } int rows = db.Execute( "INSERT INTO " + RoleTableName + " (RoleName) VALUES (@0)", roleName ); if (rows != 1) { throw new ProviderException(WebDataResources.Security_DbFailure); } } } }