Project

General

Profile

TL_SYS_ROLE_MAPPING_Sync.txt

Luc Tran Van, 10/20/2022 09:32 AM

 
1

    
2
-- Mapping AbpUserRoles -> TL_SYS_ROLE_MAPPING
3
ALTER PROCEDURE dbo.TL_SYS_ROLE_MAPPING_Sync
4
@p_TLNAME varchar(20) = NULL,
5
@p_USER_LOGIN varchar(20) = NULL
6
AS
7
--Validation is here
8
BEGIN TRANSACTION
9
   DELETE TL_SYS_ROLE_MAPPING WHERE TLNAME = @p_TLNAME AND IS_MAIN = 0
10
   INSERT INTO TL_SYS_ROLE_MAPPING (ROLE_OLD, ROLE_NEW, TLNAME, DEP_ID, BRANCH_ID, EFF_DATE, EXP_DATE, NOTES, AUTH_STATUS, RECORD_STATUS, MAKER_ID, CHECKER_ID, IS_MAIN)
11
   SELECT A.RoleName,C.DisplayName,@p_TLNAME AS TLNAME,A.DEP_ID,A.TLSUBBRID, 'Jan  1 1900 12:00AM','Jan  1 2300 12:00AM','' AS NOTES,'A' AS AUTH_STATUS, 1 AS RECORD_STATUS,@p_USER_LOGIN AS MAKER_ID,@p_USER_LOGIN AS CHECKER_ID,0 AS IS_MAIN
12
   FROM (SELECT ID,A.RoleName,A.TLSUBBRID,A.DEP_ID FROM TL_USER A  WHERE TLNANME =@p_TLNAME) A
13
   JOIN AbpUserRoles B ON B.UserId = A.ID 
14
   JOIN AbpRoles C ON C.Id=B.RoleId 
15
--   WHERE C.DisplayName NOT IN (SELECT tsrm.ROLE_NEW FROM TL_SYS_ROLE_MAPPING tsrm WHERE tsrm.IS_MAIN=0 AND tsrm.TLNAME=@p_TLNAME)
16
   IF @@Error <> 0 GOTO ABORT
17
    
18
COMMIT TRANSACTION
19
SELECT '0' as Result, '' ErrorDesc
20
RETURN '0'
21
ABORT:
22
BEGIN
23
		ROLLBACK TRANSACTION
24
		SELECT '-1' as Result, '' ErrorDesc
25
		RETURN '-1'
26
END