コード例 #1
0
        public override void AddUsersToRoles(string[] usernames, string[] rolenames)
        {
            db = new Database1Entities();
            int RoleCheck = rolenames.Where(x => RoleExists(x)).Count();

            if (RoleCheck == 0)
            {
                throw new ProviderException("Role name not found.");
            }
            int CheckCommasInUsername = usernames.Where(x => x.ToString().Contains(",")).Count();

            if (CheckCommasInUsername > 0)
            {
                throw new ArgumentException("User names cannot contain commas.");
            }
            foreach (string username in usernames)
            {
                foreach (string rolename in rolenames)
                {
                    if (IsUserInRole(username, rolename))
                    {
                        throw new ProviderException("User is already in role.");
                    }
                }
            }
            foreach (string username in usernames)
            {
                foreach (string rolename in rolenames)
                {
                    tblUsersInRole newRecord = new tblUsersInRole();
                    newRecord.Username        = username;
                    newRecord.Rolename        = rolename;
                    newRecord.ApplicationName = ApplicationName;
                    db.tblUsersInRoles.Add(newRecord);
                }
            }
            db.SaveChanges();
        }
コード例 #2
0
 public override void RemoveUsersFromRoles(string[] usernames, string[] rolenames)
 {
     foreach (string rolename in rolenames)
     {
         if (!RoleExists(rolename))
         {
             throw new ProviderException("Role name not found.");
         }
     }
     foreach (string username in usernames)
     {
         foreach (string rolename in rolenames)
         {
             if (!IsUserInRole(username, rolename))
             {
                 throw new ProviderException("User is not in role.");
             }
         }
     }
     db = new Database1Entities();
     foreach (string username in usernames)
     {
         foreach (string rolename in rolenames)
         {
             tblUsersInRole result = db.tblUsersInRoles.Where(x =>
                                                              x.Username == username &&
                                                              x.Rolename == rolename &&
                                                              x.ApplicationName == ApplicationName).FirstOrDefault();
             if (result != null)
             {
                 db.tblUsersInRoles.Remove(result);
             }
         }
     }
     db.SaveChanges();
 }