fnUserRoles

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@ClientUsersID int IN
@ClientsID int IN

Definition

Copy

CREATE FUNCTION [dbo].[fnUserRoles]
    (
    @ClientUsersID int,
    @ClientsID int
    )
RETURNS TABLE 
AS
RETURN

    select distinct ALLROLES.ID ClientRolesID, @ClientsID ClientsID
    from
    (SELECT TOP 1 ClientRoles.ID ClientRolesID
    FROM ClientRoles 
    where ClientsID=@ClientsID AND EveryoneRole=1 AND Deleted=0
    UNION ALL
    SELECT UserRoles.ClientRolesID
    FROM UserRoles 
    JOIN ClientRoles ON UserRoles.ClientRolesID=ClientRoles.ID
    WHERE UserRoles.ClientUsersID=@ClientUsersID AND @ClientUsersID > 0
    AND ClientRoles.EveryOneRole=0 
    AND ClientRoles.Deleted=0) EXPLICITROLES
    cross apply dbo.UFN_CLIENTROLE_GETPARENTIDS(EXPLICITROLES.ClientRolesID) ALLROLES