USP_DATAFORMTEMPLATE_EDIT_DATABASEMAILSETTINGS_2
The save procedure used by the edit dataform template "Email Alerts Settings Edit Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ENABLED | bit | IN | Enabled |
@PROFILENAME | nvarchar(128) | IN | SQL Server Database Mail Profile |
@APPROOTURL | nvarchar(1024) | IN | Application URL root |
@SELECTEDDATABASE | nvarchar(128) | IN | Selected database |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@APPLICATIONLINKFORMATCODE | tinyint | IN | Application link format |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_DATABASEMAILSETTINGS_2]
(
@ENABLED bit,
@PROFILENAME nvarchar(128),
@APPROOTURL nvarchar(1024),
@SELECTEDDATABASE nvarchar(128),
@CHANGEAGENTID uniqueidentifier = null,
@APPLICATIONLINKFORMATCODE tinyint
)
as begin
declare @CURRENTDATE datetime;
declare @ISHOSTED bit;
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
if exists(select top 1 1 from dbo.[DATABASEMAILSETTINGS])
update dbo.[DATABASEMAILSETTINGS] set
[ENABLED] = @ENABLED,
[PROFILENAME] = @PROFILENAME,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
else
insert into dbo.[DATABASEMAILSETTINGS] (
[ID],
[ENABLED],
[PROFILENAME],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
newid(),
@ENABLED,
@PROFILENAME,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
-- the fields on application url parts table are required - if a hosted site id exists, they won't be filled in, so don't do the insert/update
set @ISHOSTED = dbo.[UFN_EMAILALERTSETTINGS_ISHOSTED]();
if @ISHOSTED = 0 and @ENABLED = 1
if exists(select top 1 1 from dbo.[APPLICATIONURLPARTS])
update dbo.[APPLICATIONURLPARTS] set
[ROOT] = @APPROOTURL,
[SELECTEDDATABASE] = @SELECTEDDATABASE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE;
else
insert into dbo.[APPLICATIONURLPARTS] (
[ID],
[ROOT],
[SELECTEDDATABASE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
newid(),
@APPROOTURL,
@SELECTEDDATABASE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
return 0;
end