Example #1
0
        public List <VM.Common.PermissionLevel> GetPermissionLevelList(int userID)
        {
            var sp = new MD.StoredProcedure.usp_GetUserPermissionLevel()
            {
                UserID = userID
            };
            var perms = ctx.InvokeStoredProcedure <MD.StoredProcedure.usp_GetUserPermissionLevel, VM.Common.PermissionLevel>(sp);

            return(perms);
        }
Example #2
0
        public List <VM.Common.PermissionLevel> GetPermissionLevelList(int userID)
        {
            var sp = new MD.StoredProcedure.usp_GetUserPermissionLevel()
            {
                UserID = userID
            };
            //var perms = ctx.InvokeStoredProcedure<MD.StoredProcedure.usp_GetUserPermissionLevel, VM.Common.PermissionLevel>(sp);

            /*
             * ALTER PROCEDURE[dbo].[usp_GetUserPermissionLevel]
             * @UserID int
             *  AS
             * BEGIN
             *  -- SET NOCOUNT ON added to prevent extra result sets from
             *  -- interfering with SELECT statements.
             *  SET NOCOUNT ON;
             * SELECT DISTINCT
             * FPL.[FunctionName]
             *  , FPL.[PermissionLevel] AS[LevelName]
             * FROM[dbo].[Common_Authen_RoleFunctionPermission]
             * AS RFP
             * INNER JOIN[dbo].[Common_Authen_FunctionPermissionLevel]
             * AS FPL
             * ON RFP.[PermissionLevelID] = FPL.ID
             * INNER JOIN [dbo].[Common_Authen_RoleUser] AS ARU
             * ON ARU.[RoleID] = RFP.[RoleID]
             * WHERE ARU.[UserID] = @UserID
             * END
             */
            var perms = from fpl in ctx.Common_Authen_FunctionPermissionLevel
                        join rfp in ctx.Common_Authen_RoleFunctionPermission on fpl.ID equals rfp.PermissionLevelID into pls
                        from pl in pls
                        join aru in ctx.Common_Authen_RoleUser on pl.RoleID equals aru.RoleID
                        where aru.UserID == userID
                        select new VM.Common.PermissionLevel
            {
                ID           = -1,   //无用
                Available    = true, //无用
                FunctionName = fpl.FunctionName,
                LevelName    = fpl.PermissionLevel
            };

            return(perms.ToList());
        }