Ejemplo n.º 1
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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());
                }
            }
        }