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