usp_InsertDeleteUserManageRights.sql
1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usp_InsertDeleteUserManageRights]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[usp_InsertDeleteUserManageRights]
GO
-- ====================================================
-- Author: Ebix
-- Create date: 12-Feb-2018
-- Description: To delete and insert User Rights
-- ====================================================
create PROCEDURE [dbo].[usp_InsertDeleteUserManageRights]
-- Add the parameters for the stored procedure here
@RoleName varchar(50),@ActivityId int, @UserId int,@RequestType varchar(20),
@Status bit out
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @RoleId int;
declare @ParentId int;
Set @RoleId=(Select Id From UserType WHere Title=@RoleName);
set @ParentId=(select top 1 ParentId FROM Activity WHERE id =@ActivityId)
set @Status = 0;
BEGIN TRY
BEGIN TRANSACTION
if(@RequestType='insert')
Begin
INSERT INTO AIAUserActivity(UserId,RoleId,ActivityId)
Select @UserId,@RoleId,Id from Activity Where ParentId=@ActivityId and IsActive=1
End;
if(@RequestType='Remove')
begin
DELETE FROM AIAUserActivity
WHERE UserId = @UserId AND RoleId = @RoleId AND ActivityId IN (SELECT id FROM Activity WHERE ParentId=@ActivityId )
end
COMMIT TRANSACTION
set @Status = 1;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
END CATCH
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO