Exemple #1
0
        /// <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);
                    }
                }
            }
        }
Exemple #2
0
        // 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);
                    }
                }
            }
        }