USP_DATAFORMTEMPLATE_ADD_CAMPAIGNSUBPRIORITY

The save procedure used by the add dataform template "Campaign Category Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CAMPAIGNSUBPRIORITYNAMECODEID uniqueidentifier IN Name
@GOAL money IN Goal
@CAMPAIGNPRIORITYID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CAMPAIGNSUBPRIORITY (
                        @ID uniqueidentifier = null output,
                        @CAMPAIGNSUBPRIORITYNAMECODEID uniqueidentifier = null,
                        @GOAL money = null,
                        @CAMPAIGNPRIORITYID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null
                    ) as begin

                        set nocount on;

                        begin try

                            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 @BASECURRENCYID uniqueidentifier;
                            declare @ORGANIZATIONAMOUNT decimal(20,8);
                            declare @CURRENCYEXCHANGERATEID uniqueidentifier;
                            declare @ORGANIZATIONCURRENCYID uniqueidentifier;
                            set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();

                            select 
                                @BASECURRENCYID = CAMPAIGN.BASECURRENCYID 
                            from
                                dbo.CAMPAIGNPRIORITY
                                inner join dbo.CAMPAIGN on CAMPAIGNPRIORITY.CAMPAIGNID = CAMPAIGN.ID
                            where 
                                CAMPAIGNPRIORITY.ID = @CAMPAIGNPRIORITYID;

                            if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
                            begin
                                set @ORGANIZATIONAMOUNT = @GOAL;
                            end
                            else
                            begin
                                set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
                                set @ORGANIZATIONAMOUNT = dbo.UFN_CURRENCY_CONVERT(@GOAL, @CURRENCYEXCHANGERATEID);
                            end

                            insert into dbo.CAMPAIGNSUBPRIORITY (
                                ID,
                                CAMPAIGNSUBPRIORITYNAMECODEID,
                                GOAL,
                                CAMPAIGNPRIORITYID,
                                ORGANIZATIONAMOUNT,
                                CURRENCYEXCHANGERATEID,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            ) values (
                                @ID,
                                @CAMPAIGNSUBPRIORITYNAMECODEID,
                                @GOAL,
                                @CAMPAIGNPRIORITYID,
                                @ORGANIZATIONAMOUNT,
                                @CURRENCYEXCHANGERATEID,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            )

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

                        return 0;

                    end