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(); }
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(); }