spDelete_EmailTemplate
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PKID | int | IN | |
@CurrentUsersID | int | IN |
Definition
Copy
CREATE procedure [dbo].[spDelete_EmailTemplate]
(
@PKID int,
@CurrentUsersID int
)
as
BEGIN
declare @EmailListID as int
declare @oldname as nvarchar(92)
declare @newname as nvarchar(92)
SELECT @oldname = [Name]
FROM [dbo].EmailTemplate
where id=@PKID
exec spUniqueName @oldname, @newname OUTPUT
BEGIN TRAN
UPDATE [dbo].EmailTemplate
SET [Name] = @newname,
[EXPORTDEFINITIONID] = null,
[deleted] = 1
where id=@PKID;
SET @EmailListID = (Select [EmailListID] FROM dbo.EmailTemplate_EmailList WHERE EmailTemplateID = @PKID);
exec [dbo].spDelete_EmailList @EmailListID , @CurrentUsersID;
-- Delete emails using this template that haven't been sent yet.
-- They won't show in the GUI if they aren't sent.
update dbo.Email set Deleted = 1
from dbo.Email e
left outer join dbo.EmailJob ej on ej.EmailID = e.ID
where e.EmailTemplateID = @PKID and isnull(ej.Status,1) < 2;
IF @@ERROR = 0
BEGIN
COMMIT TRAN
END
ELSE
BEGIN
ROLLBACK TRAN
END
END