Exemplo n.º 1
0
        public override void CreateRole(string roleName)
        {
            //Check required for MSDN
            if (roleName == null || roleName == "")
            {
                throw new ProviderException("Role name cannot be empty or null.");
            }
            if (roleName.IndexOf(',') > 0)
            {
                throw new ArgumentException("Role names cannot contain commas.");
            }
            if (RoleExists(roleName))
            {
                throw new ProviderException("Role name already exists.");
            }

            using (var transaction = new TransactionScope(mConfiguration))
            {
                var roleStore = new RoleDataStore(transaction);

                roleStore.Insert(new Role(ApplicationName, roleName));

                transaction.Commit();
            }
        }
Exemplo n.º 2
0
        public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
        {
            using (var transaction = new TransactionScope(mConfiguration))
            {
                var usersInRolesStore = new UserInRoleDataStore(transaction);

                foreach (string userName in usernames)
                {
                    foreach (string roleName in roleNames)
                    {
                        var        rDS        = new RoleDataStore(transaction);
                        Role       role       = rDS.FindByName(mApplicationName, roleName);
                        var        uDS        = new UserDataStore(transaction);
                        User       user       = uDS.FindByName(mApplicationName, userName);
                        UserInRole userInRole = usersInRolesStore.Find(ApplicationName, user, role);
                        if (userInRole == null)
                        {
                            throw new UserInRoleNotFoundException(userName, roleName);
                        }

                        userInRole.Deleted = true;
                        usersInRolesStore.Update(userInRole);
                    }
                }

                transaction.Commit();
            }
        }
Exemplo n.º 3
0
 public override Role GetRole(string roleId)
 {
     using (var transaction = new TransactionScope(mConfiguration))
     {
         var roleDataStore = new RoleDataStore(transaction);
         return(roleDataStore.FindByKey(roleId));
     }
 }
Exemplo n.º 4
0
 public override IList <Role> GetAllRoles()
 {
     using (var transaction = new TransactionScope(mConfiguration))
     {
         var roleDataStore = new RoleDataStore(transaction);
         return(roleDataStore.FindAll(ApplicationName));
     }
 }
Exemplo n.º 5
0
 public override Role GetRoleByName(string roleName)
 {
     using (var transaction = new TransactionScope(mConfiguration))
     {
         var roleDataStore = new RoleDataStore(transaction);
         return(roleDataStore.FindByName(mApplicationName, roleName));
     }
 }
Exemplo n.º 6
0
 public override void DeleteRole(string roleName)
 {
     using (var transaction = new TransactionScope(mConfiguration))
     {
         var  rDS  = new RoleDataStore(transaction);
         Role role = rDS.FindByName(ApplicationName, roleName);
         rDS.Delete(role.Id);
         transaction.Commit();
     }
 }
Exemplo n.º 7
0
 public override void CreateRole(string roleName)
 {
     using (var transaction = new TransactionScope(mConfiguration))
     {
         var roleDataStore = new RoleDataStore(transaction);
         var role          = new Role(ApplicationName, roleName);
         roleDataStore.Insert(role);
         transaction.Commit();
     }
 }
Exemplo n.º 8
0
 public override bool RoleExists(string roleName)
 {
     using (var transaction = new TransactionScope(mConfiguration))
     {
         var store = new RoleDataStore(transaction);
         if (store.FindByName(ApplicationName, roleName) != null)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Exemplo n.º 9
0
        public override string[] GetAllRoles()
        {
            var rolesNames = new List <string>();

            using (var transaction = new TransactionScope(mConfiguration))
            {
                var roleDataStore = new RoleDataStore(transaction);

                IList <Role> list = roleDataStore.FindAll(ApplicationName);

                foreach (Role ur in list)
                {
                    rolesNames.Add(ur.Name);
                }
            }

            return(rolesNames.ToArray());
        }
Exemplo n.º 10
0
        public override bool IsUserInRole(string username, string roleName)
        {
            using (var transaction = new TransactionScope(mConfiguration))
            {
                var  rDS  = new RoleDataStore(transaction);
                Role role = rDS.FindByName(mApplicationName, roleName);
                var  uDS  = new UserDataStore(transaction);
                User user = uDS.FindByName(mApplicationName, username);
                var  userInRoleDataStore = new UserInRoleDataStore(transaction);

                if (userInRoleDataStore.Find(ApplicationName, user, role) != null)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Exemplo n.º 11
0
        public override string[] GetUsersInRole(string roleName)
        {
            var userNames = new List <string>();

            using (var transaction = new TransactionScope(mConfiguration))
            {
                var  rDS  = new RoleDataStore(transaction);
                Role role = rDS.FindByName(mApplicationName, roleName);
                var  userInRoleDataStore = new UserInRoleDataStore(transaction);

                IList <UserInRole> listUserInRole = userInRoleDataStore.FindForRole(ApplicationName, role);

                foreach (UserInRole ur in listUserInRole)
                {
                    userNames.Add(ur.User.Name);
                }
            }

            return(userNames.ToArray());
        }
Exemplo n.º 12
0
        public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
        {
            using (var transaction = new TransactionScope(mConfiguration))
            {
                var roleStore           = new RoleDataStore(transaction);
                var userInRoleDataStore = new UserInRoleDataStore(transaction);

                //Find role
                Role role = roleStore.FindByName(ApplicationName, roleName);
                if (role == null)
                {
                    throw new RoleNotFoundException(roleName);
                }

                IList <UserInRole> listUserInRole = userInRoleDataStore.FindForRole(ApplicationName, role);

                if (throwOnPopulatedRole && listUserInRole.Count > 0)
                {
                    throw new ProviderException("Cannot delete a populated role.");
                }

                foreach (UserInRole ur in listUserInRole)
                {
                    ur.Deleted = true;
                    userInRoleDataStore.Update(ur);
                }

                role.Deleted = true;
                role.Name   += DateTimeHelper.GetCurrentTimestamp();
                roleStore.Update(role);

                transaction.Commit();
            }

            return(true);
        }