USP_DATAFORMTEMPLATE_ADD_CONSTITUENTLETTERBASIC
The save procedure used by the add dataform template "Constituent Letter Basic Add Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@LETTERNAME | nvarchar(100) | IN | Letter name |
@INCOMINGID | nvarchar(37) | IN | Input parameter indicating the context ID for the record being added. |
@CONSTITUENTID | uniqueidentifier | IN | |
@NAMEFORMATID | uniqueidentifier | IN | Formatted name |
@ADDRESSID | uniqueidentifier | IN | Address |
@LETTERFILE | varbinary | IN | Letter |
@LETTERFILENAME | nvarchar(255) | IN | Letter |
@INTERACTIONTYPECODEID | uniqueidentifier | IN | Interaction type |
@MAILDATE | datetime | IN | Mail date |
@COMMENT | nvarchar(255) | IN | Comment |
@LETTERTEMPLATEID | uniqueidentifier | IN | Letter template |
@UPLOADFILE | bit | IN | |
@INTERACTIONCATEGORYID | uniqueidentifier | IN | Category |
@INTERACTIONSUBCATEGORYID | uniqueidentifier | IN | Subcategory |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTLETTERBASIC
(
@ID uniqueidentifier = null output,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@LETTERNAME nvarchar(100) = null,
@INCOMINGID nvarchar(37),
@CONSTITUENTID uniqueidentifier = null,
@NAMEFORMATID uniqueidentifier = null,
@ADDRESSID uniqueidentifier = null,
@LETTERFILE varbinary(max) = null,
@LETTERFILENAME nvarchar(255) = null,
@INTERACTIONTYPECODEID uniqueidentifier = null,
@MAILDATE datetime = null,
@COMMENT nvarchar(255) = null,
@LETTERTEMPLATEID uniqueidentifier = null,
@UPLOADFILE bit = null,
@INTERACTIONCATEGORYID uniqueidentifier = null,
@INTERACTIONSUBCATEGORYID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @STATUSCODE tinyint;
set @STATUSCODE = 2;
if @UPLOADFILE = 0
begin
-- If the file isn't mergeable then just copy the file from the template library
select @LETTERFILE = LETTERFILE,
@LETTERFILENAME = LETTERFILENAME
from dbo.LETTERTEMPLATE
where ID = @LETTERTEMPLATEID;
declare @EXTENSION nvarchar(255);
declare @SPLITON nvarchar(1);
set @EXTENSION = @LETTERFILENAME;
set @SPLITON = '.';
while(charindex(@SPLITON, @EXTENSION) > 0)
begin
set @EXTENSION = substring(@EXTENSION, charindex(@SPLITON, @EXTENSION) + 1, len(@EXTENSION));
end
set @LETTERFILENAME = @LETTERNAME + @SPLITON + @EXTENSION;
end
begin try
if @ID is null
set @ID = newID();
insert into dbo.INTERACTION
(
ID,
CONSTITUENTID,
EXPECTEDDATE,
ACTUALDATE,
INTERACTIONTYPECODEID,
OBJECTIVE,
STATUSCODE,
COMMENT,
INTERACTIONSUBCATEGORYID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CONSTITUENTID,
@MAILDATE,
@MAILDATE,
@INTERACTIONTYPECODEID,
@LETTERNAME,
@STATUSCODE,
@COMMENT,
@INTERACTIONSUBCATEGORYID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.INTERACTIONATTACHMENT
(
ID,
DATEENTERED,
TITLE,
[FILENAME],
[FILE],
INTERACTIONID,
ENTEREDBYAPPUSERID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
newID(),
@MAILDATE,
@LETTERNAME,
@LETTERFILENAME,
@LETTERFILE,
@ID,
@CURRENTAPPUSERID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;