USP_DATAFORMTEMPLATE_EDIT_EVENT_5

The save procedure used by the edit dataform template "Event Edit Form 3".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@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.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@STARTDATE date IN Start date
@STARTTIME UDT_HOURMINUTE IN Start time
@ENDDATE date IN End date
@ENDTIME UDT_HOURMINUTE IN End time
@CAPACITY int IN Capacity
@EVENTLOCATIONID uniqueidentifier IN Location
@EVENTLOCATIONCONTACTID uniqueidentifier IN Contact
@MAINEVENTID uniqueidentifier IN Main event
@SITES xml IN Sites
@EVENTCATEGORYCODEID uniqueidentifier IN Category
@QUICKCOMPAREEVENTID uniqueidentifier IN Quick comparison event
@EVENTLOCATIONROOMID uniqueidentifier IN Room/Unit
@DESIGNATIONSONFEES bit IN Event allows designations on fees

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EVENT_5
                    (
                        @ID uniqueidentifier,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(100),
                        @DESCRIPTION nvarchar(255),
                        @STARTDATE date,
                        @STARTTIME dbo.UDT_HOURMINUTE,
                        @ENDDATE date,
                        @ENDTIME dbo.UDT_HOURMINUTE,
                        @CAPACITY int,
                        @EVENTLOCATIONID uniqueidentifier,
                        @EVENTLOCATIONCONTACTID uniqueidentifier,
                        @MAINEVENTID uniqueidentifier,
                        @SITES xml,
                        @EVENTCATEGORYCODEID uniqueidentifier,
                        @QUICKCOMPAREEVENTID uniqueidentifier,
                        @EVENTLOCATIONROOMID uniqueidentifier,
                        @DESIGNATIONSONFEES bit
                    )
                as
                begin

                    set nocount on

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    if @SITES is null begin 
                        if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1 begin
                            raiserror('Site is required.',13,1)
                            return
                        end
                    end

                    declare @ISAUCTION bit = 0;
                    select 
                        @ISAUCTION = case when EVENTAUCTION.ID is null then 0 else 1 end
                    from 
                        dbo.EVENT 
                        left join dbo.EVENTAUCTION on EVENT.ID = EVENTAUCTION.ID
                    where EVENT.ID = @ID

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

                        if @ENDDATE is null
                            set @ENDDATE = @STARTDATE;

                        if @STARTTIME = @ENDTIME 
                        begin
                            if @STARTTIME = '0000'
                            begin
                                set @STARTTIME = ''
                                set @ENDTIME = ''
                            end
                        end

                        -- TMV 02/28/2007 CR268233-022607

                        if @CAPACITY is null
                            set @CAPACITY = 0;

                        --Adding to a hierarchy must now be done from the event summary page or the hierarchy tab

                        select @MAINEVENTID = MAINEVENTID from dbo.EVENT where ID = @ID;

                        --CR297394-040708 TMV 04/08/2008 This may change to be a database constraint in a future release

                        if dbo.UFN_EVENT_CANSUPPORTEVENTS_NULLAPPEAL(@MAINEVENTID) <> 1
                            raiserror('ERR_EVENT_CANSUPPORTEVENTS_NULLAPPEAL', 16, 1);

                        if @ISAUCTION = 1
                            if dbo.UFN_EVENTAUCTION_SITESVALIDFORITEMS(@ID, @SITES) <> 1
                                raiserror('ERR_EVENTAUCTION_SITESCONFLICTWITHITEMS', 16, 1);

                        exec dbo.USP_EVENTSITE_VALIDATESITES @SITES

                        update 
                            dbo.EVENT 
                        set 
                            NAME = @NAME,
                            DESCRIPTION = @DESCRIPTION,    
                            STARTDATE = @STARTDATE,
                            STARTTIME = @STARTTIME,
                            ENDDATE = @ENDDATE,
                            ENDTIME = @ENDTIME,
                            CAPACITY = @CAPACITY,
                            EVENTLOCATIONID = @EVENTLOCATIONID,
                            EVENTLOCATIONROOMID = @EVENTLOCATIONROOMID,
                            EVENTLOCATIONCONTACTID = @EVENTLOCATIONCONTACTID,
                            MAINEVENTID = @MAINEVENTID,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE,
                            EVENTCATEGORYCODEID = @EVENTCATEGORYCODEID,
                            DESIGNATIONSONFEES = @DESIGNATIONSONFEES
                        where 
                            ID = @ID                    

                        exec dbo.USP_EVENT_GETSITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE
                    end try

                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                    return 0
                end