USP_DATAFORMTEMPLATE_ADD_SPONSORSHIPOPPORTUNITY_CHILD

The save procedure used by the add dataform template "Sponsorship Opportunity Child Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SPONSORSHIPOPPORTUNITYGROUPID uniqueidentifier IN Child group
@SPONSORSHIPLOCATIONID uniqueidentifier IN Location
@FIRSTNAME nvarchar(100) IN First name
@MIDDLENAME nvarchar(50) IN Middle name
@LASTNAME nvarchar(100) IN Last name
@GENDERCODE tinyint IN Gender
@BIRTHDATE UDT_FUZZYDATE IN Birth date
@PICTURE varbinary IN Image
@PICTURETHUMBNAIL varbinary IN Image thumbnail
@PICTURECHANGED bit IN Picture changed
@ISHIVPOSITIVE bit IN HIV positive
@ISORPHANED bit IN Orphaned
@SPROPPCHILDCONDITIONCODEID uniqueidentifier IN Disability/Illness

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SPONSORSHIPOPPORTUNITY_CHILD
(
    @ID uniqueidentifier = null output,
  @CURRENTAPPUSERID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @SPONSORSHIPOPPORTUNITYGROUPID uniqueidentifier = null,
    @SPONSORSHIPLOCATIONID uniqueidentifier = null,
    @FIRSTNAME nvarchar(100) = '',
    @MIDDLENAME nvarchar(50) = '',
    @LASTNAME nvarchar(100)='',
    @GENDERCODE tinyint=0,
    @BIRTHDATE dbo.UDT_FUZZYDATE = '00000000',
    @PICTURE varbinary(max)=null,
    @PICTURETHUMBNAIL varbinary(max)= null,
    @PICTURECHANGED bit=null,
    @ISHIVPOSITIVE bit=null,
    @ISORPHANED bit=null,
    @SPROPPCHILDCONDITIONCODEID uniqueidentifier=null
)
as

set nocount on;

if dbo.UFN_AGEFROMFUZZYDATE(@BIRTHDATE,getdate()) < 0
begin
    raiserror('BBERR_BIRTHDATEINFUTURE',13,1)
    return 1
end
if dbo.UFN_SPONSORSHIPOPPORTUNITY_AGEVALID(@SPONSORSHIPOPPORTUNITYGROUPID,@BIRTHDATE) = 2
begin
    raiserror('BBERR_CHILDOPPORTUNITYTOOOLD',13,1)
    return 1
end

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 @AVAILABILITYCODE tinyint

select @AVAILABILITYCODE = case STATUSCODE when 0 then 0 else 2 end
from dbo.SPONSORSHIPLOCATION
where ID = @SPONSORSHIPLOCATIONID

if @@ROWCOUNT = 0
begin
    raiserror('BBERR_LOCATIONNOTFOUND',13,1)
    return 1
end

begin try

    --Get default eligibility

    declare @ELIGIBILITYCODE bit = null;
    select @ELIGIBILITYCODE = DEFAULTCHILDELIGIBILITYCODE from dbo.SPONSORSHIPINFO order by DATEADDED;

    insert into dbo.SPONSORSHIPOPPORTUNITY
    (ID, SPONSORSHIPOPPORTUNITYGROUPID,SPONSORSHIPLOCATIONID,ELIGIBILITYCODE,AVAILABILITYCODE,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
    values
    (@ID,@SPONSORSHIPOPPORTUNITYGROUPID,@SPONSORSHIPLOCATIONID,1 ,@AVAILABILITYCODE,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)

  insert into dbo.SPONSORSHIPOPPORTUNITYLOCK
    (ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
  values
    (@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)

  insert into dbo.CONSTITUENT
    (ID,KEYNAME,FIRSTNAME,MIDDLENAME,GENDERCODE,BIRTHDATE,ISCONSTITUENT,PICTURE,PICTURETHUMBNAIL,ADDEDBYID,CHANGEDBYID)
  values 
    (@ID,@LASTNAME,@FIRSTNAME,@MIDDLENAME,@GENDERCODE,@BIRTHDATE,0,@PICTURE,@PICTURETHUMBNAIL,@CHANGEAGENTID,@CHANGEAGENTID);

  insert into dbo.SPONSORSHIPOPPORTUNITYCHILD
        (ID, FIRSTNAME, MIDDLENAME, LASTNAME, GENDERCODE, BIRTHDATE, PICTURE, PICTURETHUMBNAIL, ISHIVPOSITIVE, ISORPHANED, SPROPPCHILDCONDITIONCODEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED,CONSTITUENTID)
    values
        (@ID, @FIRSTNAME, @MIDDLENAME, @LASTNAME, ISNULL(@GENDERCODE,0), @BIRTHDATE, @PICTURE, @PICTURETHUMBNAIL, @ISHIVPOSITIVE, @ISORPHANED, @SPROPPCHILDCONDITIONCODEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE,@ID)

        --If eligibility is pending add reasons.

        if @ELIGIBILITYCODE = 1
          exec dbo.USP_SPONSORSHIPSETTINGS_GETNEWDEFAULTS 'CHILD',@ID;

end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0