USP_DATAFORMTEMPLATE_EDIT_DESIGNATIONLEVELGIFTFEESTRUCTURE

The save procedure used by the edit dataform template "Fundraising Purpose Gift Fee Structure Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@GIFTFEESTRUCTURE xml IN Gift fees
@DISPLAYINORGANIZATIONCURRENCY tinyint IN Currency:

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DESIGNATIONLEVELGIFTFEESTRUCTURE (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @GIFTFEESTRUCTURE xml,
    @DISPLAYINORGANIZATIONCURRENCY tinyint
)
as

    set nocount on;

    if @CHANGEAGENTID is null  
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

    begin try

        declare @BASECURRENCYID uniqueidentifier;
        declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
        declare @ORGANIZATIONCURRENCYID uniqueidentifier;
        declare @USEORGANIZATIONCURRENCY bit;
        set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();

        if @DISPLAYINORGANIZATIONCURRENCY = 1
            select
                @BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                @USEORGANIZATIONCURRENCY = 1,
                @ORGANIZATIONEXCHANGERATEID = null;
        else
            select
                @BASECURRENCYID = DESIGNATIONLEVEL.BASECURRENCYID,
                @USEORGANIZATIONCURRENCY = 0,
                @ORGANIZATIONEXCHANGERATEID = DESIGNATIONLEVEL.ORGANIZATIONEXCHANGERATEID
            from
                dbo.DESIGNATIONLEVEL
            where
                DESIGNATIONLEVEL.ID = @ID;

        declare @CURRENTDATE datetime;
        set @CURRENTDATE = getdate();

        --insert defaults

        if dbo.UFN_DESIGNATIONLEVELGIFTFEE_OVERRIDESTRUCTURE(@ID) = 0
        begin
            update dbo.DESIGNATIONLEVELGIFTFEEOVERRIDE
            set OVERRIDEGIFTFEESTRUCTURE = 1,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where ID = @ID;

            if @@ROWCOUNT = 0
                insert into dbo.[DESIGNATIONLEVELGIFTFEEOVERRIDE]([ID], [OVERRIDEGIFTFEESTRUCTURE],[ADDEDBYID],[CHANGEDBYID],[DATEADDED],[DATECHANGED])
                values(@ID, 1, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
        end

        set @GIFTFEESTRUCTURE = dbo.UFN_DESIGNATIONLEVELGIFTFEE_CONVERTAMOUNTSINXML(@GIFTFEESTRUCTURE, @BASECURRENCYID, @ORGANIZATIONEXCHANGERATEID, @USEORGANIZATIONCURRENCY)
        exec dbo.USP_DESIGNATIONLEVELGIFTFEE_GETGIFTFEESTRUCTURE_2_UPDATEFROMXML @ID, @GIFTFEESTRUCTURE, @CHANGEAGENTID

    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;