public override void CreateRole(string roleName) { SecUtility.CheckParameter(ref roleName, true, true, true, 256, "roleName"); using (var db = this.Data) { if (this._UseSP) { if (db.Roles_CreateRole(this.ApplicationName, roleName).FirstOrDefault() == 0) { throw new ProviderException("Provider_role_already_exists, " + roleName); } } else { try { var query = from r in db.Roles where r.RoleName == roleName && r.Application.ApplicationID == this._AppID select r; if (query.Any()) { throw new ProviderException("Provider_role_already_exists, " + roleName); } db.AddToRoles(new Role() { RoleName = roleName, Application = db.GetApplication(this._AppID) }); db.SaveChanges(); } catch { throw; } } } }
public override string[] FindUsersInRole(string roleName, string usernameToMatch) { SecUtility.CheckParameter(ref roleName, true, true, true, 256, "roleName"); SecUtility.CheckParameter(ref usernameToMatch, true, true, false, 256, "usernameToMatch"); using (var db = this.Data) { if (this._UseSP) { return(db.Roles_FindUsersInRole(this.ApplicationName, usernameToMatch, roleName).ToArray()); } else { var query = from r in db.Roles from u in r.Users where r.RoleName == roleName && u.Username.Contains(usernameToMatch) && r.Application.ApplicationID == this._AppID select u.Username; return(query.ToArray()); } } }