USP_DATAFORMTEMPLATE_EDIT_MATCHINGGIFTCONDITIONORDER

The save procedure used by the edit dataform template "Matching Gift Condition Order Edit 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.
@MATCHINGGIFTCONDITIONS xml IN Conditions

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MATCHINGGIFTCONDITIONORDER
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @MATCHINGGIFTCONDITIONS xml
) as
    set nocount on;

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

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

    begin try
        update 
            MATCHINGGIFTCONDITION
        set 
            SEQUENCE = SUBQ.SEQUENCE,
            CHANGEDBYID = @CHANGEAGENTID,  
            DATECHANGED = @CHANGEDATE  
        from 
            dbo.MATCHINGGIFTCONDITION
        inner join 
            (
                select 
                    ID, 
                    SEQUENCE
                from 
                    dbo.UFN_MATCHINGGIFTCONDITION_GETSEQUENCES_FROMITEMLISTXML(@MATCHINGGIFTCONDITIONS)
            ) as SUBQ on MATCHINGGIFTCONDITION.ID = SUBQ.ID  
        where 
            ((MATCHINGGIFTCONDITION.SEQUENCE <> SUBQ.SEQUENCE) or   
            (MATCHINGGIFTCONDITION.SEQUENCE is null and SUBQ.SEQUENCE is not null) or   
            (MATCHINGGIFTCONDITION.SEQUENCE is not null and SUBQ.SEQUENCE is null)) 

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

return 0;