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));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        /// <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);
        }