/// <summary> /// add a role to this user /// </summary> /// <param name="user"></param> /// <param name="role"></param> public void AddRoleToUser(UserVO user, RoleEnum role) { bool result = false; if (!DoesUserHaveRole(user, role)) { for (int i = 0; i < Roles.Count; i++) { if (Roles[i].UserName.Equals(user.UserName)) { IList<RoleEnum> userRoles = Roles[i].Roles; userRoles.Add(role); result = true; break; } } } SendNotification(ApplicationFacade.ADD_ROLE_RESULT, result); }
public bool Equals(RoleEnum e) { if (e == null) return false; return (Ordinal == e.Ordinal && Value == e.Value); }
// remove a role from the user public void RemoveRoleFromUser(UserVO user, RoleEnum role) { if (DoesUserHaveRole(user, role)) { for (int i = 0; i < Roles.Count; i++) { if (Roles[i].UserName.Equals(user.UserName)) { IList<RoleEnum> userRoles = Roles[i].Roles; foreach (RoleEnum curRole in userRoles) { if (curRole.Equals(role)) { userRoles.Remove(role); break; } } break; } } } }
/// <summary> /// determine if the user has a given role /// </summary> /// <param name="user"></param> /// <param name="role"></param> /// <returns></returns> public bool DoesUserHaveRole(UserVO user, RoleEnum role) { bool hasRole = false; for (int i = 0; i < Roles.Count; i++) { if (Roles[i].UserName.Equals(user.UserName)) { IList<RoleEnum> userRoles = Roles[i].Roles; foreach (RoleEnum curRole in userRoles) { if (curRole.Equals(role)) { hasRole = true; break; } } } } return hasRole; }