USP_FAFEVENT_GETREGISTRATIONOPTION_ADDFROMXML

Add new FAF registration option from XML.

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN
@XML xml IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy


CREATE procedure dbo.USP_FAFEVENT_GETREGISTRATIONOPTION_ADDFROMXML
(
@EVENTID uniqueidentifier,
@XML xml,
@CHANGEAGENTID uniqueidentifier = null,
@CHANGEDATE datetime = null
)
as

set nocount on;

if @CHANGEAGENTID is null
    exec USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

if @CHANGEDATE is null
    set @CHANGEDATE = getdate()

  select * into #TargetRegOption
  from dbo.UFN_FAFEVENT_GETREGISTRATIONOPTION_FROMITEMLISTXML(@XML)

  update #TargetRegOption set ID = newID() where (ID is null) or (ID = '00000000-0000-0000-0000-000000000000');

  insert into dbo.EVENTPRICE
    (ID,EVENTID,EVENTREGISTRATIONTYPEID,REGISTRATIONCOUNT,NAME,AMOUNT,RECEIPTAMOUNT,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
  select 
   tEP0.ID, @EVENTID, EVENTREGISTRATIONTYPEID,REGISTRATIONCOUNT,NAME,AMOUNT,RECEIPTAMOUNT, @CHANGEAGENTID,@CHANGEAGENTID,@CHANGEDATE,@CHANGEDATE
  from #TargetRegOption tEP0 

  insert into dbo.FAFREGISTRATIONTYPE
      (ID,EVENTPRICEID, COPYSOURCEID, COPYBATCHGUID, ISACTIVE,DESCRIPTION,ISNOTAVAILABLEONLINEREG,ISREGTYPEAVAILABLEINDIVIDUAL,ISREGTYPEAVAILABLEFAMILYMEMBER,ISREGTYPEAVAILABLEHEADHOUSEHOLD,
      ISREGTYPEAVAILABLETEAMMEMBER,ISREGTYPEAVAILABLETEAMLEADER,ISREGTYPEAVAILABLECOMPANYLEADER,EARLYREGISTRATIONDATE,EARLYREGISTRATIONDISCOUNT,
      LATEFEEDATE,LATEFEE,TURNONWAITLIST,DISPLAYSPOTSAVAILABLE,SENDEVENTCONTACTALERTMAXREACHED,WAITLISTMESSAGE,MINIMUMAGE,MAXIMUMAGE, 
      FAFREGISTRATIONCATEGORYID,MAXQUANTITY,USEDQUANTITY,ALLOWPARTICIPANTSWAIVEBENEFITS, ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
    select newID(), tEP1.ID, tEP1.COPYSOURCEID, tEP1.COPYBATCHGUID, ISACTIVE,DESCRIPTION,ISNOTAVAILABLEONLINEREG,ISREGTYPEAVAILABLEINDIVIDUAL,ISREGTYPEAVAILABLEFAMILYMEMBER,ISREGTYPEAVAILABLEHEADHOUSEHOLD,
      ISREGTYPEAVAILABLETEAMMEMBER,ISREGTYPEAVAILABLETEAMLEADER,ISREGTYPEAVAILABLECOMPANYLEADER,EARLYREGISTRATIONDATE,EARLYREGISTRATIONDISCOUNT,
      LATEFEEDATE,LATEFEE,TURNONWAITLIST,DISPLAYSPOTSAVAILABLE,SENDEVENTCONTACTALERTMAXREACHED,WAITLISTMESSAGE,MINIMUMAGE,MAXIMUMAGE, 
      FAFREGISTRATIONCATEGORYID,MAXQUANTITY,USEDQUANTITY,ALLOWPARTICIPANTSWAIVEBENEFITS, @CHANGEAGENTID,@CHANGEAGENTID,@CHANGEDATE,@CHANGEDATE
  from #TargetRegOption tEP1 

  insert into dbo.FAFREGISTRATIONTYPEGOAL
      (ID,EVENTPRICEID,REGTYPEGOALCODE,MINFUNDRAISING,ISNOTLOWERFUNDRAISING,PARTICIPANTMUSTPAYBALANCE,PARTICIPANTPAYSBALANCEMESSAGE,RECRUITEMENT,
      ISNOTLOWERRECRUITEMENT,VOLUNTEERRECRUITEMENT,ISNOTLOWERVOLUNTEERRECRUITEMENT,DONORRETENTION,ISNOTLOWERDONORRETENTION,UNIT,ISNOTLOWERUNIT,
      COMMUNICATIONS,ISNOTLOWERCOMMUNICATION,LABELFORUNIT,TARGETFUNDRAISING,ISNOTLOWERTARGETFUNDRAISING, TEAMS, ISNOTLOWERTEAMS, TEAMRETENTION, 
    ISNOTLOWERTEAMRETENTION, TEAMMEMBERS, ISNOTLOWERTEAMMEMBERS, TEAMMEMBERRETENTION, ISNOTLOWERTEAMMEMBERRETENTION,
    ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
    select 
    newid(), tEP2.ID, FAFROG2.REGTYPEGOALCODE,FAFROG2.MINFUNDRAISING,FAFROG2.ISNOTLOWERFUNDRAISING,FAFROG2.PARTICIPANTMUSTPAYBALANCE,FAFROG2.PARTICIPANTPAYSBALANCEMESSAGE,FAFROG2.RECRUITEMENT,
      FAFROG2.ISNOTLOWERRECRUITEMENT,FAFROG2.VOLUNTEERRECRUITEMENT,FAFROG2.ISNOTLOWERVOLUNTEERRECRUITEMENT,FAFROG2.DONORRETENTION,FAFROG2.ISNOTLOWERDONORRETENTION,FAFROG2.UNIT,FAFROG2.ISNOTLOWERUNIT,
      FAFROG2.COMMUNICATIONS,FAFROG2.ISNOTLOWERCOMMUNICATION,FAFROG2.LABELFORUNIT,FAFROG2.TARGETFUNDRAISING,FAFROG2.ISNOTLOWERTARGETFUNDRAISING, 
    FAFROG2.TEAMS, FAFROG2.ISNOTLOWERTEAMS, FAFROG2.TEAMRETENTION, FAFROG2.ISNOTLOWERTEAMRETENTION, FAFROG2.TEAMMEMBERS, 
    FAFROG2.ISNOTLOWERTEAMMEMBERS, FAFROG2.TEAMMEMBERRETENTION, FAFROG2.ISNOTLOWERTEAMMEMBERRETENTION,    
    @CHANGEAGENTID,@CHANGEAGENTID,@CHANGEDATE,@CHANGEDATE
  from #TargetRegOption tEP2
  join dbo.FAFREGISTRATIONTYPEGOAL FAFROG2 on tEP2.COPYSOURCEID = FAFROG2.EVENTPRICEID

  insert into dbo.[EVENTPRICEBENEFIT] 
      ( [ID], [EVENTPRICEID], [BENEFITID], [DETAILS], [QUANTITY], [UNITVALUE], [TOTALVALUE], ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
  select 
    newid(), tEP3.ID, EPB3.[BENEFITID], EPB3.[DETAILS], EPB3.[QUANTITY], EPB3.[UNITVALUE], EPB3.[TOTALVALUE],@CHANGEAGENTID,@CHANGEAGENTID,@CHANGEDATE,@CHANGEDATE
  from #TargetRegOption tEP3 
  join dbo.EVENTPRICEBENEFIT EPB3 ON tEP3.COPYSOURCEID = EPB3.EVENTPRICEID

  drop table #TargetRegOption

if @@Error <> 0
    return 2;

return 0;