USP_DATAFORMTEMPLATE_EDIT_SALESORDERITEMSPONSORSHIP_4

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@SPONSORSHIPID uniqueidentifier IN
@SPONSORSHIPPROGRAMID uniqueidentifier IN
@SPONSORSHIPOPPORTUNITYID uniqueidentifier IN
@STARTDATE date IN
@GIFTRECIPIENTID uniqueidentifier IN
@SPONSORSHIPLOCATIONID uniqueidentifier IN
@GENDERCODE tinyint IN
@SPONSORSHIPOPPORTUNITYAGERANGEID uniqueidentifier IN
@ISHIVPOSITIVECODE tinyint IN
@HASCONDITIONCODE tinyint IN
@ISORPHANEDCODE tinyint IN
@SPROPPPROJECTCATEGORYCODEID uniqueidentifier IN
@ISSOLESPONSORSHIP bit IN
@EXPIRATIONDATE date IN
@EXPIRATIONREASONID uniqueidentifier IN
@AMOUNT money IN
@FREQUENCYCODE tinyint IN
@SCHEDULESTARTDATE date IN
@ORDERPAYMENTAMOUNT money IN
@GROUPID uniqueidentifier IN
@CALLBACKURL nvarchar(255) IN
@DATA xml IN
@ACKNOWLEDGEMENTHTML nvarchar(max) IN
@ATTRIBUTES xml IN
@OPTIONS xml IN
@MASKIMAGEID int IN
@PDACCOUNTSYSTEMID uniqueidentifier IN
@CURRENCYISO nvarchar(3) IN
@APPEALID uniqueidentifier IN

Definition

Copy

          create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SALESORDERITEMSPONSORSHIP_4 (
              @ID uniqueidentifier,
              @CHANGEAGENTID uniqueidentifier = null,
              @SPONSORSHIPID uniqueidentifier,
              @SPONSORSHIPPROGRAMID uniqueidentifier,
              @SPONSORSHIPOPPORTUNITYID uniqueidentifier,
              @STARTDATE date,
              @GIFTRECIPIENTID uniqueidentifier,
              @SPONSORSHIPLOCATIONID uniqueidentifier,
              @GENDERCODE tinyint,
              @SPONSORSHIPOPPORTUNITYAGERANGEID uniqueidentifier,
              @ISHIVPOSITIVECODE tinyint,
              @HASCONDITIONCODE tinyint,
              @ISORPHANEDCODE tinyint,
              @SPROPPPROJECTCATEGORYCODEID uniqueidentifier,
              @ISSOLESPONSORSHIP bit,
              @EXPIRATIONDATE date,
              @EXPIRATIONREASONID uniqueidentifier,
              @AMOUNT money,
              @FREQUENCYCODE tinyint,
              @SCHEDULESTARTDATE date,
              @ORDERPAYMENTAMOUNT money,
              @GROUPID uniqueidentifier,
              @CALLBACKURL nvarchar(255),
              @DATA xml,
              @ACKNOWLEDGEMENTHTML nvarchar(max),
              @ATTRIBUTES xml,
              @OPTIONS xml,
              @MASKIMAGEID int,
              @PDACCOUNTSYSTEMID uniqueidentifier,
              @CURRENCYISO nvarchar(3),
              @APPEALID uniqueidentifier
          )
          as

              set nocount on;

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

              declare @CURRENTDATE datetime
              set @CURRENTDATE = getdate()

              update dbo.SALESORDERITEM 
              Set PRICE = @ORDERPAYMENTAMOUNT,
              CALLBACKURL = @CALLBACKURL,
              DATA = @DATA,
              ACKNOWLEDGEMENT = @ACKNOWLEDGEMENTHTML,
              ATTRIBUTES = @ATTRIBUTES,
              OPTIONS = @OPTIONS,
              CHANGEDBYID = @CHANGEAGENTID
              DATECHANGED = @CURRENTDATE
              where ID = @ID

              begin try
                  -- handle updating the data
                  update dbo.SALESORDERITEMSPONSORSHIP set
                      SPONSORSHIPID = @SPONSORSHIPID,
                      SPONSORSHIPPROGRAMID = @SPONSORSHIPPROGRAMID,
                      SPONSORSHIPOPPORTUNITYID = @SPONSORSHIPOPPORTUNITYID,
                      STARTDATE = @STARTDATE,
                      GIFTRECIPIENTID = @GIFTRECIPIENTID,
                      SPONSORSHIPLOCATIONID = @SPONSORSHIPLOCATIONID,
                      GENDERCODE = @GENDERCODE,
                      SPONSORSHIPOPPORTUNITYAGERANGEID = @SPONSORSHIPOPPORTUNITYAGERANGEID,
                      ISHIVPOSITIVECODE = @ISHIVPOSITIVECODE,
                      HASCONDITIONCODE = @HASCONDITIONCODE,
                      ISORPHANEDCODE = @ISORPHANEDCODE,
                      SPROPPPROJECTCATEGORYCODEID = @SPROPPPROJECTCATEGORYCODEID,
                      ISSOLESPONSORSHIP = @ISSOLESPONSORSHIP,
                      EXPIRATIONDATE = @EXPIRATIONDATE,
                      EXPIRATIONREASONID = @EXPIRATIONREASONID,
                      CHANGEDBYID = @CHANGEAGENTID,
                      DATECHANGED = @CURRENTDATE,
                      MASKIMAGEID = @MASKIMAGEID,
                      PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID,
                      CURRENCYISO = @CURRENCYISO,
                      APPEALID = @APPEALID
                  where ID = @ID;

                  update dbo.SALESORDERITEMREVENUESCHEDULE set
                      AMOUNT = @AMOUNT,
                      FREQUENCYCODE = @FREQUENCYCODE,
                      SCHEDULESTARTDATE = @SCHEDULESTARTDATE,
                      CHANGEDBYID = @CHANGEAGENTID,
                      DATECHANGED = @CURRENTDATE
                  where ID = @ID;

              if @GROUPID is not null
           begin
                merge dbo.SALESORDERITEMGROUP as target
                using (SELECT @ID as ID) as source
                on (target.ID = source.ID)
                when matched then
                   update set
                          GROUPID = @GROUPID,
                          CHANGEDBYID = @CHANGEAGENTID,
                          DATECHANGED = @CURRENTDATE
                when not matched then
                   insert 
                       ([ID]
                       ,[GROUPID]
                       ,[PARENTID]
                       ,[ADDEDBYID]
                       ,[CHANGEDBYID]
                       ,[DATEADDED]
                       ,[DATECHANGED]
                       )
                     values
                      (
                        @ID,
                        @GROUPID,
                        null,
                        @CHANGEAGENTID
                        @CHANGEAGENTID
                        @CURRENTDATE
                        @CURRENTDATE
                      );
                end
              end try
              begin catch
                  exec dbo.USP_RAISE_ERROR
                  return 1
              end catch

          return 0;