spDelete_EmailProject

Parameters

Parameter Parameter Type Mode Description
@PKID int IN
@CurrentUsersID int IN

Definition

Copy

CREATE  PROCEDURE [dbo].[spDelete_EmailProject]
@PKID int,
@CurrentUsersID int

as

DECLARE @NewName nvarchar(50)
DECLARE @Name nvarchar(50)
DECLARE @GUID uniqueidentifier

IF dbo.fnIsProjectComponentLinked(@PKID,0,0,0) = 1
    BEGIN
        BEGIN TRANSACTION
            SELECT @Name = [Name] FROM EmailProject WHERE [ID] = @PKID

            exec spGetUniqueName @Name, @NewName OUTPUT

            UPDATE EmailProject
            SET Deleted = 1, [Name] = @NewName
            WHERE [ID] = @PKID

            update dbo.[EmailProjectAppeal]
            set deleted = 1
            from dbo.[EmailProjectAppeal] EPA
            inner join dbo.[EmailProject] EP on EP.ID = EPA.EMAILPROJECTID
            where EP.ID = @PKID

            update dbo.[EmailProjectAppeal_EmailList]
            set deleted = 1
            from dbo.[EmailProjectAppeal_EmailList] EPA_EL
            inner join dbo.[EmailProjectAppeal] EPA on EPA.ID = EPA_EL.EMAILPROJECTAPPEALID
            inner join dbo.[EmailProject] EP on EP.ID = EPA.EMAILPROJECTID
            where EP.ID = @PKID

            update dbo.[EmailProjectAppeal_ListEmail]
            set deleted = 1
            from dbo.[EmailProjectAppeal_ListEmail] EPA_LE
            inner join dbo.[EmailProjectAppeal_EmailList] EPA_EL on EPA_EL.ID = EPA_LE.EmailProjectAppealListID
            inner join dbo.[EmailProjectAppeal] EPA on EPA.ID = EPA_EL.EMAILPROJECTAPPEALID
            inner join dbo.[EmailProject] EP on EP.ID = EPA.EMAILPROJECTID
            where EP.ID = @PKID

            update dbo.[Email]
            set deleted = 1
            from dbo.[EMAIL] E
            inner join dbo.[EmailProjectAppeal_ListEmail] EPA_LE on EPA_LE.ID =  E.ProjectAppealListEmailID
            inner join dbo.[EmailProjectAppeal_EmailList] EPA_EL on EPA_EL.ID = EPA_LE.EmailProjectAppealListID
            inner join dbo.[EmailProjectAppeal] EPA on EPA.ID = EPA_EL.EMAILPROJECTAPPEALID
            inner join dbo.[EmailProject] EP on EP.ID = EPA.EMAILPROJECTID
            where EP.ID = @PKID

            SELECT @Guid=Guid FROM [dbo].EmailProject WHERE id = @PKID

            EXEC spAuditThis @CurrentUsersID, 3, @Guid, 33
        COMMIT TRANSACTION

    END
ELSE
    BEGIN
        DELETE EmailProject WHERE [ID] = @PKID
    END