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(); } }
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(); } }
public override Role GetRole(string roleId) { using (var transaction = new TransactionScope(mConfiguration)) { var roleDataStore = new RoleDataStore(transaction); return(roleDataStore.FindByKey(roleId)); } }
public override IList <Role> GetAllRoles() { using (var transaction = new TransactionScope(mConfiguration)) { var roleDataStore = new RoleDataStore(transaction); return(roleDataStore.FindAll(ApplicationName)); } }
public override Role GetRoleByName(string roleName) { using (var transaction = new TransactionScope(mConfiguration)) { var roleDataStore = new RoleDataStore(transaction); return(roleDataStore.FindByName(mApplicationName, roleName)); } }
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(); } }
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(); } }
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); } } }
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()); }
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); } } }
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()); }
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); }