Example #1
0
        public IEnumerable <TRole> GetAncestors(uint memberId, MemberType memberType)
        {
            switch (memberType)
            {
            case MemberType.User:
                var user = this.DataAccess.Select <TUser>(Condition.Equal(nameof(IUser.UserId), memberId)).FirstOrDefault();
                return(user == null ? null : MembershipUtility.GetAncestors <TRole>(this.DataAccess, user));

            case MemberType.Role:
                var role = this.DataAccess.Select <TRole>(Condition.Equal(nameof(IRole.RoleId), memberId)).FirstOrDefault();
                return(role == null ? null : MembershipUtility.GetAncestors <TRole>(this.DataAccess, role));

            default:
                return(null);
            }
        }