USP_DATAFORMTEMPLATE_ADD_TRACKITEMEVENT

The save procedure used by the add dataform template "Track Item Event Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@TRACKID 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.
@PROGRAMID uniqueidentifier IN Program
@STARTDAY tinyint IN Start day
@STARTTIME UDT_HOURMINUTE IN Start time
@ENDDAY tinyint IN End day
@ENDTIME UDT_HOURMINUTE IN End time
@BLOCKEVENT bit IN Mark event unavailable to other groups
@NOTES nvarchar(500) IN Notes
@RESOURCES xml IN Additional supplies/equipment resources
@STAFFRESOURCES xml IN Staffing resources

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_TRACKITEMEVENT
                    (
                        @ID uniqueidentifier = null output,
                        @TRACKID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @PROGRAMID uniqueidentifier = null,
                        @STARTDAY tinyint = 0,
                        @STARTTIME dbo.UDT_HOURMINUTE = null,
                        @ENDDAY tinyint = 0,
                        @ENDTIME dbo.UDT_HOURMINUTE = null,
                        @BLOCKEVENT bit = 0,
                        @NOTES nvarchar(500) = '',
                        @RESOURCES xml = null,
                        @STAFFRESOURCES xml = null
                    )
                    as
                        set nocount on;

                        if @ID is null
                            set @ID = newid();

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

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                        begin try
                            if dbo.UFN_PROGRAM_ISDAILYADMISSION(@PROGRAMID) = 1
                                raiserror('ERR_PROGRAMIDISDAILYADMISSION', 13, 1);

                            insert into dbo.TRACKITEM
                            (
                                ID,
                                TRACKID,
                                NAME,
                                PROGRAMID,
                                STARTDAY,
                                STARTTIME,
                                ENDDAY,
                                ENDTIME,
                                BLOCKEVENT,
                                NOTES,
                                TYPECODE,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            )
                            values
                            (
                                @ID,
                                @TRACKID,
                                dbo.UFN_PROGRAM_GETNAME(@PROGRAMID),
                                @PROGRAMID,
                                @STARTDAY,
                                @STARTTIME,
                                @ENDDAY,
                                @ENDTIME,
                                @BLOCKEVENT,
                                @NOTES,
                                0,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            );

                            exec dbo.USP_TRACKITEMRESOURCE_GETRESOURCES_ADDFROMXML @ID, @RESOURCES, @CHANGEAGENTID;
                            exec dbo.USP_TRACKITEM_GETSTAFFRESOURCES_ADDFROMXML @ID, @STAFFRESOURCES, @CHANGEAGENTID;
                        end try

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

                        return 0;