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