USP_DATAFORMTEMPLATE_EDIT_FAFEVENTDONATIONOPTIONSCONFIG_2

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@EVENTID uniqueidentifier IN
@ALLOWGIFTTYPEONETIMEDONATION bit IN
@ALLOWGIFTTYPERECURRING bit IN
@ALLOWGIFTTYPEPLEDGE bit IN
@ISENABLEDONATIONS bit IN
@ISENABLERECURRINGGIFTS bit IN
@ISENABLEPLEDGES bit IN
@ISALLOWTEAMDONATIONS bit IN
@ISALLOWCOMPANYDONATIONS bit IN
@ISALLOWEVENTDONATIONS bit IN
@MINIMUMDONATIONAMOUNT money IN
@MAXIMUMTRANSACTIONAMOUNT money IN
@ISALLOWDONATIONSFROMORGS bit IN
@ISFREQUENCYAVAILONLINEMONTHLYGIFT bit IN
@ISFREQUENCYAVAILONLINEANNUALLYGIFT bit IN
@ISFREQUENCYAVAILONLINESEMIANNUALLYGIFT bit IN
@ISFREQUENCYAVAILONLINEQUARTERLYGIFT bit IN
@ISFREQUENCYAVAILONLINEBIMONTHLYGIFT bit IN
@ISFREQUENCYAVAILONLINESEMIMONTHLYGIFT bit IN
@ISFREQUENCYAVAILONLINEBIWEEKLYGIFT bit IN
@ISFREQUENCYAVAILONLINEWEEKLYGIFT bit IN
@ISALLOWDONORTOSELECTSTARTDATEGIFT bit IN
@STARTDATEONORBEFOREGIFT datetime IN
@ISSTARTDATESAMEASDAYTOSUBMITGIFT bit IN
@DONORONORBEFOREDATEGIFT datetime IN
@ISFREQUENCYAVAILONLINEMONTHLYPLEDGE bit IN
@ISFREQUENCYAVAILONLINEANNUALLYPLEDGE bit IN
@ISFREQUENCYAVAILONLINESEMIANNUALLYPLEDGE bit IN
@ISFREQUENCYAVAILONLINEQUARTERLYPLEDGE bit IN
@ISFREQUENCYAVAILONLINEBIMONTHLYPLEDGE bit IN
@ISFREQUENCYAVAILONLINESEMIMONTHLYPLEDGE bit IN
@ISFREQUENCYAVAILONLINEBIWEEKLYPLEDGE bit IN
@ISFREQUENCYAVAILONLINEWEEKLYPLEDGE bit IN
@ISALLOWDONORTOSELECTSTARTDATEPLEDGE bit IN
@STARTDATEONORBEFOREPLEDGE datetime IN
@ISSTARTDATESAMEASDAYTOSUBMITPLEDGE bit IN
@DONORONORBEFOREDATEPLEDGE datetime IN
@ISFREQUENCYAVAILONLINESINGLEPLEDGE bit IN
@ISFREQUENCYAVAILONLINESINGLEGIFT bit IN
@ISUNPAIDPLEDGES bit IN
@ISUNPAIDRECURRINGGIFTS bit IN
@ISSPONSORSHIPREVENUE bit IN
@ISUNPAIDSPONSORSHIPREVENUE bit IN
@ISREGISTRATIONREVENUE bit IN
@ISPENDINGMATCHINGGIFTS bit IN
@UNCONFIRMEDPARTICIPANTGIFTENTRY bit IN
@ISALLOWPARTENTERCASHCHECKERECEIVEDDONOR bit IN
@ISALLOWHOUSEHOLDDONATIONS bit IN

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_FAFEVENTDONATIONOPTIONSCONFIG_2
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @EVENTID uniqueidentifier,
    @ALLOWGIFTTYPEONETIMEDONATION bit,
    @ALLOWGIFTTYPERECURRING bit,
    @ALLOWGIFTTYPEPLEDGE bit,
    @ISENABLEDONATIONS bit,
    @ISENABLERECURRINGGIFTS bit,
    @ISENABLEPLEDGES bit,
    @ISALLOWTEAMDONATIONS bit,
    @ISALLOWCOMPANYDONATIONS bit,
    @ISALLOWEVENTDONATIONS bit,
    @MINIMUMDONATIONAMOUNT money,
    @MAXIMUMTRANSACTIONAMOUNT money,
    @ISALLOWDONATIONSFROMORGS bit,
    @ISFREQUENCYAVAILONLINEMONTHLYGIFT bit,
    @ISFREQUENCYAVAILONLINEANNUALLYGIFT bit,
    @ISFREQUENCYAVAILONLINESEMIANNUALLYGIFT bit,
    @ISFREQUENCYAVAILONLINEQUARTERLYGIFT bit,
    @ISFREQUENCYAVAILONLINEBIMONTHLYGIFT bit,
    @ISFREQUENCYAVAILONLINESEMIMONTHLYGIFT bit,
    @ISFREQUENCYAVAILONLINEBIWEEKLYGIFT bit,
    @ISFREQUENCYAVAILONLINEWEEKLYGIFT bit,
    @ISALLOWDONORTOSELECTSTARTDATEGIFT bit,
    @STARTDATEONORBEFOREGIFT datetime,
    @ISSTARTDATESAMEASDAYTOSUBMITGIFT bit,
    @DONORONORBEFOREDATEGIFT datetime,
    @ISFREQUENCYAVAILONLINEMONTHLYPLEDGE bit,
    @ISFREQUENCYAVAILONLINEANNUALLYPLEDGE bit,
    @ISFREQUENCYAVAILONLINESEMIANNUALLYPLEDGE bit,
    @ISFREQUENCYAVAILONLINEQUARTERLYPLEDGE bit,
    @ISFREQUENCYAVAILONLINEBIMONTHLYPLEDGE bit,
    @ISFREQUENCYAVAILONLINESEMIMONTHLYPLEDGE bit,
    @ISFREQUENCYAVAILONLINEBIWEEKLYPLEDGE bit,
    @ISFREQUENCYAVAILONLINEWEEKLYPLEDGE bit,
    @ISALLOWDONORTOSELECTSTARTDATEPLEDGE bit,
    @STARTDATEONORBEFOREPLEDGE datetime,
    @ISSTARTDATESAMEASDAYTOSUBMITPLEDGE bit,
    @DONORONORBEFOREDATEPLEDGE datetime,
    @ISFREQUENCYAVAILONLINESINGLEPLEDGE bit
    @ISFREQUENCYAVAILONLINESINGLEGIFT bit,

    @ISUNPAIDPLEDGES bit,
    @ISUNPAIDRECURRINGGIFTS bit,
    @ISSPONSORSHIPREVENUE bit,
    @ISUNPAIDSPONSORSHIPREVENUE bit,
    @ISREGISTRATIONREVENUE bit,
    @ISPENDINGMATCHINGGIFTS bit,
    @UNCONFIRMEDPARTICIPANTGIFTENTRY bit,
    @ISALLOWPARTENTERCASHCHECKERECEIVEDDONOR bit,
    @ISALLOWHOUSEHOLDDONATIONS bit
)
as

    set nocount on;

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

    --Check negative number for gift amount maximum and minimum
    If (@MINIMUMDONATIONAMOUNT < 0)
    BEGIN
        RAISERROR('MINIMUMDONATIONAMOUNTCHECKVALIDNUMBER',13,2)
        return 1
    END
    If (@MAXIMUMTRANSACTIONAMOUNT < 0)
    BEGIN
        RAISERROR('MAXIMUMTRANSACTIONAMOUNTCHECKVALIDNUMBER',13,2)
        return 1
    END
    --Check Min > Max OR Max < min
    If (@MINIMUMDONATIONAMOUNT >= 1 AND @MAXIMUMTRANSACTIONAMOUNT >= 1)
    BEGIN
        If (@MINIMUMDONATIONAMOUNT > @MAXIMUMTRANSACTIONAMOUNT
        BEGIN
            If (@ALLOWGIFTTYPEONETIMEDONATION = 1)
            BEGIN
                raiserror('MINGREATERMAX',13,2)    
                return 1
            END
            ELSE
            BEGIN
                raiserror('MAXLESSTHANMIN',13,2)    
                return 1
            END
        END
    END

    --Output error msg if none select on frequency for both Recurring Gift and  Pledge (for Pledge msg)
    If ((@ISENABLEDONATIONS = 1 AND @ISENABLERECURRINGGIFTS = 1 AND @ISENABLEPLEDGES = 1) OR (@ISENABLERECURRINGGIFTS = 1 AND @ISENABLEPLEDGES = 1)) AND (@ISFREQUENCYAVAILONLINEMONTHLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEANNUALLYGIFT = 0 AND @ISFREQUENCYAVAILONLINESEMIANNUALLYGIFT = 0
        AND @ISFREQUENCYAVAILONLINEQUARTERLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEBIMONTHLYGIFT = 0 AND @ISFREQUENCYAVAILONLINESEMIMONTHLYGIFT = 0
        AND @ISFREQUENCYAVAILONLINEBIWEEKLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEWEEKLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEMONTHLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEANNUALLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINESEMIANNUALLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEQUARTERLYPLEDGE = 0
        AND @ISFREQUENCYAVAILONLINESEMIMONTHLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEBIWEEKLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINESINGLEPLEDGE = 0)
    BEGIN    
      raiserror('NONERECURRINGGIFTSANDPLEDGEFREQUENCYSELECTED',13,2);
      return 1                
    END
    --Output error msg if none select on frequency for both Recurring Gift and  Pledge (for Recurring Gift msg)
    Else If ((@ISENABLEDONATIONS = 1 AND @ISENABLERECURRINGGIFTS = 1 AND @ISENABLEPLEDGES = 1) OR (@ISENABLERECURRINGGIFTS = 1 AND @ISENABLEPLEDGES = 1)) AND (@ISFREQUENCYAVAILONLINEMONTHLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEANNUALLYGIFT = 0 AND @ISFREQUENCYAVAILONLINESEMIANNUALLYGIFT = 0
        AND @ISFREQUENCYAVAILONLINEQUARTERLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEBIMONTHLYGIFT = 0 AND @ISFREQUENCYAVAILONLINESEMIMONTHLYGIFT = 0
        AND @ISFREQUENCYAVAILONLINEBIWEEKLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEWEEKLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEMONTHLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEANNUALLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINESEMIANNUALLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEQUARTERLYPLEDGE = 0
        AND @ISFREQUENCYAVAILONLINESEMIMONTHLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEBIWEEKLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINESINGLEPLEDGE = 0)
    BEGIN    
      raiserror('NONERECURRINGGIFTSANDPLEDGEFREQUENCYSELECTEDFORRECURRINGGIFTMSG',13,2);
      return 1                
    END
    --Output error msg if none select on Frequency for Recurring Gift
    Else If ((@ISENABLEDONATIONS = 1 AND @ISENABLERECURRINGGIFTS = 1 AND @ISENABLEPLEDGES = 1) OR @ISENABLERECURRINGGIFTS = 1) AND (@ISFREQUENCYAVAILONLINEMONTHLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEANNUALLYGIFT = 0 AND @ISFREQUENCYAVAILONLINESEMIANNUALLYGIFT = 0
        AND @ISFREQUENCYAVAILONLINEQUARTERLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEBIMONTHLYGIFT = 0 AND @ISFREQUENCYAVAILONLINESEMIMONTHLYGIFT = 0
        AND @ISFREQUENCYAVAILONLINEBIWEEKLYGIFT = 0 AND @ISFREQUENCYAVAILONLINEWEEKLYGIFT = 0)
    BEGIN
      raiserror('NONERECURRINGGIFTSFREQUENCYSELECTED',13,2);
      return 1                
    END
    --Output error msg if none select on Frequency for Pledges
    Else If ((@ISENABLEDONATIONS = 1 AND @ISENABLERECURRINGGIFTS = 1 AND @ISENABLEPLEDGES = 1) OR @ISENABLEPLEDGES = 1) AND (@ISFREQUENCYAVAILONLINEMONTHLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEANNUALLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINESEMIANNUALLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEQUARTERLYPLEDGE = 0
        AND @ISFREQUENCYAVAILONLINESEMIMONTHLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINEBIWEEKLYPLEDGE = 0 AND @ISFREQUENCYAVAILONLINESINGLEPLEDGE = 0)
    BEGIN
      raiserror('NONEPLEDGESFREQUENCYSELECTED',13,2);
      return 1                
    END

    --Output error msg for none select on allow gift type
    If (@ISENABLEDONATIONS = 0 AND @ISENABLERECURRINGGIFTS = 0 AND @ISENABLEPLEDGES = 0)
    BEGIN
        raiserror('NONEALLOWGIFTTYPESELECTED',13,2);
        return 1
    END

    --Change to NULL if value is zero
    DECLARE @TEMPMIN Money
    DECLARE @TEMPMAX Money    
    IF @MINIMUMDONATIONAMOUNT = 0
    BEGIN
        SET @TEMPMIN = 0
    END
    ELSE
    BEGIN
        SET @TEMPMIN = @MINIMUMDONATIONAMOUNT
    END    
    IF @MAXIMUMTRANSACTIONAMOUNT = 0
    BEGIN
        SET @TEMPMAX = 0
    END
    ELSE
    BEGIN
        SET @TEMPMAX = @MAXIMUMTRANSACTIONAMOUNT
    END

    begin try
        -- handle updating the data
        update dbo.FAFEVENTDONATIONOPTIONSCONFIG set
            EVENTID = @EVENTID,
            ALLOWGIFTTYPEONETIMEDONATION = @ALLOWGIFTTYPEONETIMEDONATION,
            ALLOWGIFTTYPERECURRING = @ALLOWGIFTTYPERECURRING,
            ALLOWGIFTTYPEPLEDGE = @ALLOWGIFTTYPEPLEDGE,
            ISENABLEDONATIONS = @ISENABLEDONATIONS,
            ISENABLERECURRINGGIFTS = @ISENABLERECURRINGGIFTS,
            ISENABLEPLEDGES = @ISENABLEPLEDGES,
            ISALLOWTEAMDONATIONS = @ISALLOWTEAMDONATIONS,
            ISALLOWCOMPANYDONATIONS = @ISALLOWCOMPANYDONATIONS,
            ISALLOWEVENTDONATIONS = @ISALLOWEVENTDONATIONS,
            MINIMUMDONATIONAMOUNT = @TEMPMIN,
            MAXIMUMTRANSACTIONAMOUNT = @TEMPMAX,
            ISALLOWDONATIONSFROMORGS = @ISALLOWDONATIONSFROMORGS,
            ISFREQUENCYAVAILONLINEMONTHLYGIFT = @ISFREQUENCYAVAILONLINEMONTHLYGIFT,
            ISFREQUENCYAVAILONLINEANNUALLYGIFT = @ISFREQUENCYAVAILONLINEANNUALLYGIFT,
            ISFREQUENCYAVAILONLINESEMIANNUALLYGIFT = @ISFREQUENCYAVAILONLINESEMIANNUALLYGIFT,
            ISFREQUENCYAVAILONLINEQUARTERLYGIFT = @ISFREQUENCYAVAILONLINEQUARTERLYGIFT,
            ISFREQUENCYAVAILONLINEBIMONTHLYGIFT = @ISFREQUENCYAVAILONLINEBIMONTHLYGIFT,
            ISFREQUENCYAVAILONLINESEMIMONTHLYGIFT = @ISFREQUENCYAVAILONLINESEMIMONTHLYGIFT,
            ISFREQUENCYAVAILONLINEBIWEEKLYGIFT = @ISFREQUENCYAVAILONLINEBIWEEKLYGIFT,
            ISFREQUENCYAVAILONLINEWEEKLYGIFT = @ISFREQUENCYAVAILONLINEWEEKLYGIFT,
            ISALLOWDONORTOSELECTSTARTDATEGIFT = @ISALLOWDONORTOSELECTSTARTDATEGIFT,
            STARTDATEONORBEFOREGIFT = @STARTDATEONORBEFOREGIFT,
            ISSTARTDATESAMEASDAYTOSUBMITGIFT = @ISSTARTDATESAMEASDAYTOSUBMITGIFT,
            DONORONORBEFOREDATEGIFT = @DONORONORBEFOREDATEGIFT,
            ISFREQUENCYAVAILONLINEMONTHLYPLEDGE = @ISFREQUENCYAVAILONLINEMONTHLYPLEDGE,
            ISFREQUENCYAVAILONLINEANNUALLYPLEDGE = @ISFREQUENCYAVAILONLINEANNUALLYPLEDGE,
            ISFREQUENCYAVAILONLINESEMIANNUALLYPLEDGE = @ISFREQUENCYAVAILONLINESEMIANNUALLYPLEDGE,
            ISFREQUENCYAVAILONLINEQUARTERLYPLEDGE = @ISFREQUENCYAVAILONLINEQUARTERLYPLEDGE,
            ISFREQUENCYAVAILONLINEBIMONTHLYPLEDGE = @ISFREQUENCYAVAILONLINEBIMONTHLYPLEDGE,
            ISFREQUENCYAVAILONLINESEMIMONTHLYPLEDGE = @ISFREQUENCYAVAILONLINESEMIMONTHLYPLEDGE,
            ISFREQUENCYAVAILONLINEBIWEEKLYPLEDGE = @ISFREQUENCYAVAILONLINEBIWEEKLYPLEDGE,
            ISFREQUENCYAVAILONLINEWEEKLYPLEDGE = @ISFREQUENCYAVAILONLINEWEEKLYPLEDGE,
            ISALLOWDONORTOSELECTSTARTDATEPLEDGE = @ISALLOWDONORTOSELECTSTARTDATEPLEDGE,
            STARTDATEONORBEFOREPLEDGE = @STARTDATEONORBEFOREPLEDGE,
            ISSTARTDATESAMEASDAYTOSUBMITPLEDGE = @ISSTARTDATESAMEASDAYTOSUBMITPLEDGE,
            DONORONORBEFOREDATEPLEDGE = @DONORONORBEFOREDATEPLEDGE,
            ISFREQUENCYAVAILONLINESINGLEPLEDGE = @ISFREQUENCYAVAILONLINESINGLEPLEDGE
            ISFREQUENCYAVAILONLINESINGLEGIFT = @ISFREQUENCYAVAILONLINESINGLEGIFT,

            ISUNPAIDPLEDGES = @ISUNPAIDPLEDGES
            ISUNPAIDRECURRINGGIFTS = @ISUNPAIDRECURRINGGIFTS
            ISSPONSORSHIPREVENUE = @ISSPONSORSHIPREVENUE
            ISUNPAIDSPONSORSHIPREVENUE = @ISUNPAIDSPONSORSHIPREVENUE
            ISREGISTRATIONREVENUE = @ISREGISTRATIONREVENUE
            ISPENDINGMATCHINGGIFTS = @ISPENDINGMATCHINGGIFTS,

            UNCONFIRMEDPARTICIPANTGIFTENTRY= @UNCONFIRMEDPARTICIPANTGIFTENTRY,
            ISALLOWPARTENTERCASHCHECKERECEIVEDDONOR= @ISALLOWPARTENTERCASHCHECKERECEIVEDDONOR,

            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = getdate(),
      ISALLOWHOUSEHOLDDONATIONS = @ISALLOWHOUSEHOLDDONATIONS
        where EVENTID = @ID

        --Update EVENTFAFCONFIG to set DONATIONOPTIONSISSET = 1 for check mark
        EXEC USP_DATAFORMTEMPLATE_EDIT_EVENT_FAF_CONFIG @EVENTID = @ID, @DONATIONOPTIONSISSET = 1, @CHANGEAGENTID = @CHANGEAGENTID

        exec dbo.USP_FAFDATACACHE_CLEAR @EVENTID=@ID
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;