USP_DATAFORMTEMPLATE_EDIT_DEMOGRAPHIC_EDUCATION

The save procedure used by the edit dataform template "Education Demographic 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.
@RELIGIONCODEID uniqueidentifier IN Religion
@BIRTHPLACE nvarchar(50) IN Birthplace
@DENOMINATIONCODEID uniqueidentifier IN Denomination
@CHURCHAFFILIATIONCODEID uniqueidentifier IN Church affiliation
@ISHISPANICLATINO bit IN Is Hispanic/Latino
@DEMOGRAPHICETHNICITIES xml IN Ethnicities

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DEMOGRAPHIC_EDUCATION
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @RELIGIONCODEID uniqueidentifier,
    @BIRTHPLACE nvarchar(50),
    @DENOMINATIONCODEID uniqueidentifier,
    @CHURCHAFFILIATIONCODEID uniqueidentifier,
    @ISHISPANICLATINO bit,
    @DEMOGRAPHICETHNICITIES xml
) as
    set nocount on;

    -- handle updating the data


    declare @CURRENTDATE datetime;

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

    set @CURRENTDATE = getdate();

    declare @EXISTINGID uniqueidentifier;
    set @EXISTINGID = (select ID from dbo.DEMOGRAPHIC where ID = @ID);

    -- may be inserting a record

    set @BIRTHPLACE = coalesce(@BIRTHPLACE, '')         
    set @ISHISPANICLATINO = coalesce(@ISHISPANICLATINO, 0)

    begin try

        if @EXISTINGID is null
            insert into dbo.DEMOGRAPHIC 
                (ID, RELIGIONCODEID, BIRTHPLACE, DENOMINATIONCODEID, CHURCHAFFILIATIONCODEID, ISHISPANICLATINO, 
                    DATEADDED, DATECHANGED, ADDEDBYID, CHANGEDBYID)
            values 
                (@ID, @RELIGIONCODEID, @BIRTHPLACE, @DENOMINATIONCODEID, @CHURCHAFFILIATIONCODEID, @ISHISPANICLATINO
                    @CURRENTDATE, @CURRENTDATE, @CHANGEAGENTID, @CHANGEAGENTID)                        
        else
            update dbo.DEMOGRAPHIC
            set
                [RELIGIONCODEID] = @RELIGIONCODEID,
                [BIRTHPLACE] = @BIRTHPLACE,
                [DENOMINATIONCODEID] = @DENOMINATIONCODEID,
                [CHURCHAFFILIATIONCODEID] = @CHURCHAFFILIATIONCODEID,
                [ISHISPANICLATINO] = @ISHISPANICLATINO,
                [DATECHANGED] = @CURRENTDATE,
                [CHANGEDBYID] = @CHANGEAGENTID
            where ID = @ID;

        exec dbo.USP_CONSTITUENT_GETETHNICITIES_UPDATEFROMXML @ID, @DEMOGRAPHICETHNICITIES, @CHANGEAGENTID;

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

    return 0;