USP_DATAFORMTEMPLATE_ADD_TRIBUTEEXTENSION
The save procedure used by the add dataform template "Tribute Extension Add Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@TRIBUTETYPECODEID | uniqueidentifier | IN | Tribute type |
@TRIBUTETEXT | nvarchar(255) | IN | Tribute text |
@TRIBUTEEID | uniqueidentifier | IN | Tributee |
@ACKNOWLEDGEEID | uniqueidentifier | IN | Acknowledgee |
@ISTRIBUTEANONYMOUS | bit | IN | I would like to donation to remain anonymous |
@MESSAGETOACKNOWLEDGEE | nvarchar(1000) | IN | Message to aknowledgee |
@ADDACKNOWLEDGE | bit | IN | Add acknowledge |
@ACKNOWLEDGEEFIRSTNAME | nvarchar(200) | IN | Acknowledgee First Name |
@ACKNOWLEDGEELASTNAME | nvarchar(200) | IN | Acknowledgee Last Name |
@ACKNOWLEDGEEEMAILADDRESS | UDT_EMAILADDRESS | IN | Acknowledgee Email Address |
@FROMCONSTITUENTID | uniqueidentifier | IN | Constituent ID |
@TRIBUTEEFIRSTNAME | nvarchar(200) | IN | Tributee First Name |
@TRIBUTEELASTNAME | nvarchar(200) | IN | Tributee Last Name |
@TRIBUTEECITY | nvarchar(100) | IN | Tributee City |
@TRIBUTEEPOSTCODE | nvarchar(24) | IN | Tributee Post Code |
@TRIBUTEESTATEID | uniqueidentifier | IN | Tribute State |
@TRIBUTEECOUNTRYID | uniqueidentifier | IN | Tribute Country |
@TRIBUTEEADDRESSBLOCK | nvarchar(300) | IN | Tributee Address Block |
@TRIBUTEEEMAILADDRESS | UDT_EMAILADDRESS | IN | Tributee Email Address |
@DONATIONREVENUEID | uniqueidentifier | IN | Revenue ID |
@DONATIONAMOUNT | money | IN | Donation Amount |
@EVENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_TRIBUTEEXTENSION
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@TRIBUTETYPECODEID uniqueidentifier,
@TRIBUTETEXT nvarchar(255) = '',
@TRIBUTEEID uniqueidentifier = null,
@ACKNOWLEDGEEID uniqueidentifier = null,
--@NAMEFORMATFUNCTIONID uniqueidentifier = null,
--@DESIGNATIONID uniqueidentifier = null,
--@TRIBUTELETTERCODEID uniqueidentifier = null,
@ISTRIBUTEANONYMOUS bit= 0,
@MESSAGETOACKNOWLEDGEE nvarchar(1000) = '',
@ADDACKNOWLEDGE bit = 0,
@ACKNOWLEDGEEFIRSTNAME nvarchar(200) = '',
@ACKNOWLEDGEELASTNAME nvarchar(200) = '',
@ACKNOWLEDGEEEMAILADDRESS dbo.UDT_EMAILADDRESS = '',
@FROMCONSTITUENTID uniqueidentifier = null,
@TRIBUTEEFIRSTNAME nvarchar(200) = '',
@TRIBUTEELASTNAME nvarchar(200) = '',
@TRIBUTEECITY nvarchar(100) = '',
@TRIBUTEEPOSTCODE nvarchar(24) = '',
@TRIBUTEESTATEID uniqueidentifier = null,
@TRIBUTEECOUNTRYID uniqueidentifier = null,
@TRIBUTEEADDRESSBLOCK nvarchar(300) = '',
@TRIBUTEEEMAILADDRESS dbo.UDT_EMAILADDRESS = '',
@DONATIONREVENUEID uniqueidentifier = null,
@DONATIONAMOUNT money = 0,
@EVENTID uniqueidentifier = null
)
as
set nocount on;
IF @ID is null
set @ID = newid()
IF @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
Declare @DESIGNATIONID uniqueidentifier
Declare @SiteID uniqueidentifier
BEGIN TRY
--always use the default country id
SELECT @TRIBUTEECOUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT()
-- get designationid
Select @DESIGNATIONID = AD.DESIGNATIONID from EVENT E
join APPEALDESIGNATION AD on E.APPEALID = AD.APPEALID
Where E.ID = @EVENTID
--TRIBUTE & ACKNOWLEDGEE
INSERT INTO dbo.TRIBUTE
(ID, TRIBUTETYPECODEID, TRIBUTETEXT, TRIBUTEEID, DESIGNATIONID, NAMEFORMATFUNCTIONID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
VALUES
(@ID, @TRIBUTETYPECODEID, @TRIBUTETEXT, @TRIBUTEEID, @DESIGNATIONID, NULL, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
-- link tribute to site
Select @SITEID = SiteID from DESIGNATIONLEVEL where ID in
(
Select IsNull(DL.DESIGNATIONLEVEL1ID, ISNULL(DL.DESIGNATIONLEVEL2ID, IsNull(DL.DESIGNATIONLEVEL3ID, ISNULL(DL.DESIGNATIONLEVEL4ID, DL.DESIGNATIONLEVEL5ID))))
From EVENT E
inner join APPEALDESIGNATION AD on E.APPEALID = AD.APPEALID
inner join DESIGNATION DL on DL.ID = AD.DESIGNATIONID
Where E.ID = @EVENTID and AD.ISDEFAULT=1
)
if @SITEID is not null and Not Exists(Select ID from TRIBUTESITE Where TributeID = @ID and SiteID = @SITEID)
Begin
Insert into TRIBUTESITE (ID, TributeID, SITEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
Values(newid(), @ID, @SITEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
End
--------------------
--not save acknowledge info to [TRIBUTEACKNOWLEDGEE] any more
--IF (@TRIBUTEEID is not null) and (not exists (select ID from dbo.DECEASEDCONSTITUENT where ID = @TRIBUTEEID)) and (@ADDACKNOWLEDGE = 1)
--INSERT INTO dbo.TRIBUTEACKNOWLEDGEE
-- (ID, TRIBUTEID, CONSTITUENTID, TRIBUTELETTERCODEID, SEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
--VALUES
-- (newid(), @ID, @ACKNOWLEDGEEID, null, 1, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
----------------------------------------
--TRIBUTEEXTENSION
IF (@ADDACKNOWLEDGE = 0)
BEGIN
SET @MESSAGETOACKNOWLEDGEE = ''
SET @ACKNOWLEDGEEFIRSTNAME = ''
SET @ACKNOWLEDGEELASTNAME = ''
SET @ACKNOWLEDGEEEMAILADDRESS = ''
END
INSERT INTO dbo.TRIBUTEEXTENSION
(ID, TRIBUTEID, MESSAGETOACKNOWLEDGEE, ACKNOWLEDGEEFIRSTNAME, ACKNOWLEDGEELASTNAME,
ACKNOWLEDGEEEMAILADDRESS, FROMCONSTITUENTID, TRIBUTEEFIRSTNAME, TRIBUTEELASTNAME, TRIBUTEECITY, TRIBUTEEPOSTCODE,
TRIBUTEEADDRESSBLOCK, TRIBUTEEEMAILADDRESS, TRIBUTEESTATEID, TRIBUTEECOUNTRYID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
VALUES
(newid(), @ID, isnull(@MESSAGETOACKNOWLEDGEE, ''), @ACKNOWLEDGEEFIRSTNAME, @ACKNOWLEDGEELASTNAME,
@ACKNOWLEDGEEEMAILADDRESS, @FROMCONSTITUENTID, @TRIBUTEEFIRSTNAME, @TRIBUTEELASTNAME, @TRIBUTEECITY, @TRIBUTEEPOSTCODE,
@TRIBUTEEADDRESSBLOCK, @TRIBUTEEEMAILADDRESS, @TRIBUTEESTATEID, @TRIBUTEECOUNTRYID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
--REVENUETRIBUTE
IF (@DONATIONREVENUEID IS NOT NULL)
begin
declare @REVENUETRIBUTEID uniqueidentifier
set @REVENUETRIBUTEID = null
exec dbo.USP_DATAFORMTEMPLATE_ADD_REVENUETRIBUTE @ID=@REVENUETRIBUTEID output, @REVENUEID = @DONATIONREVENUEID, @TRIBUTEID = @ID, @AMOUNT = @DONATIONAMOUNT
if (@REVENUETRIBUTEID is not null)
update dbo.REVENUETRIBUTE set ISTRIBUTEANONYMOUS=@ISTRIBUTEANONYMOUS where ID=@REVENUETRIBUTEID
end
END TRY
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0