public override string[] GetUsersInRole(string roleName) { var roleid = Context.GetRoleID(roleName); var join = Context.GetUserInRole(roleid).Select(s => UserRoleMapper.UserID(s)); return(GetUsernameArray(join.ToArray())); }
public override bool IsUserInRole(string username, string roleName) { var userid = GetUserID(username); var roleid = Context.GetRoleID(roleName); var join = UserRoleHelper.New(); UserRoleMapper.UserID(join, userid) .RoleID(join, roleid); return(Context.IsJoinExist(join)); }
public List <User> GetUserWithoutRole() { UserRoleMapper userRoleMapper = new UserRoleMapper(); List <User> users = userRoleMapper.GetUserWithoutRole(); if (users == null) { string errorDescription = "Todos los usuarios poseen roles asociados."; log.AddLogWarn("GetUserWithoutRole", errorDescription, this); AddError(new ResultBE(ResultBE.Type.EMPTY, errorDescription)); } return(users); }
public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames) { var userid = GetUserIDArray(usernames); var roleId = Context.GetRoleID(roleNames); var list = new List <TUserRole>(); foreach (var rid in roleId) { foreach (var uid in userid) { var rjoin = UserRoleHelper.New(); UserRoleMapper.UserID(rjoin, uid) .RoleID(rjoin, rid); list.Add(rjoin); } } Context.RemoveUsersFromRoles(list); }
/// <summary> /// Elimina el rol cuyo id es pasado por parámetro. /// </summary> /// <param name="id"></param> /// <returns></returns> public bool Delete(int id) { RoleMapper rolMapper = new RoleMapper(); RolePermissionMapper rolePermissionMapper = new RolePermissionMapper(); UserRoleMapper userRolMapper = new UserRoleMapper(); if (!userRolMapper.InUse(id)) { //TODO - falta agregar control de error aquí rolePermissionMapper.Delete(id); rolMapper.Delete(id); } else { string errorDescription = "El rol está en uso."; log.AddLogCritical("Delete", errorDescription, this); AddError(new ResultBE(ResultBE.Type.RELATIONSHIP_ERROR, errorDescription)); } return(true); }
/// <summary> /// Recupera la nómina de usuarios del sistema que no se encuentren eliminados. /// </summary> /// <returns></returns> public List <User> Get() { UserMapper mapper = new UserMapper(); UserRoleMapper userRoleMapper = new UserRoleMapper(); RoleManager roleManager = new RoleManager(); List <User> users = mapper.Get(); if (users == null) { string errorDescription = "No existen usuarios."; log.AddLogWarn("Edit", errorDescription, this); AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription)); return(users); } foreach (User user in users) { user.Roles = roleManager.Get(user); } return(users); }
/// <summary> /// Devuelve la lista de roles del usuario pasado por parámetro. /// </summary> /// <param name="user"></param> /// <returns></returns> public List <Role> Get(User user) { RolePermissionMapper rolePermissionMapper = new RolePermissionMapper(); UserRoleMapper userRoleMapper = new UserRoleMapper(); List <Role> roles = userRoleMapper.Get(user); if (roles == null) { string errorDescription = "El usuario " + user.Mail + " no posee permisos asociados."; log.AddLogInfo("IsValid", errorDescription, this); AddError(new ResultBE(ResultBE.Type.EMPTY, errorDescription)); } else { //TODO - revisar la performance foreach (Role role in roles) { role.Permissions = rolePermissionMapper.Get(role); } } return(roles); }