USP_DATAFORMTEMPLATE_ADD_VOLUNTEERTRAIT

The save procedure used by the add dataform template "Volunteer Trait Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@TRAITTYPE tinyint IN Trait type
@VOLUNTEERID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@SKILLCODEID uniqueidentifier IN Skill
@SKILLLEVELID uniqueidentifier IN Skill level
@VOLUNTEERINTERESTCODEID uniqueidentifier IN Interest
@SPECIALNEEDCODEID uniqueidentifier IN Special need
@CERTIFICATIONCODEID uniqueidentifier IN Certification
@CERTIFICATE nvarchar(25) IN Certificate
@COURSECODEID uniqueidentifier IN Course
@LICENSECODEID uniqueidentifier IN License
@LICENSENUMBER nvarchar(25) IN License number
@MEDICALCODEID uniqueidentifier IN Medical
@ADMINISTRATIVECODEID uniqueidentifier IN Administrative
@EXPIRESON datetime IN Expires on
@VERIFIED bit IN Verified?

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_VOLUNTEERTRAIT
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier,    
                        @TRAITTYPE as tinyint,
                        @VOLUNTEERID uniqueidentifier,
                        @SKILLCODEID uniqueidentifier = null,
                        @SKILLLEVELID uniqueidentifier = null,
                        @VOLUNTEERINTERESTCODEID uniqueidentifier = null,
                        @SPECIALNEEDCODEID uniqueidentifier = null,
                        @CERTIFICATIONCODEID uniqueidentifier = null,
                        @CERTIFICATE nvarchar(25) = '',
                        @COURSECODEID uniqueidentifier = null,
                        @LICENSECODEID uniqueidentifier = null,
                        @LICENSENUMBER nvarchar(25) = '',
                        @MEDICALCODEID uniqueidentifier = null,
                        @ADMINISTRATIVECODEID uniqueidentifier = null,
                        @EXPIRESON datetime = null,
                        @VERIFIED bit = 0
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

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

                        set @CURRENTDATE = getdate();

                        begin try
                            if @TRAITTYPE < 0 or @TRAITTYPE > 7
                                raiserror('Unsupported trait type.', 13, 1);

                            if @TRAITTYPE = 0 --Administrative

                                insert into dbo.VOLUNTEERADMINISTRATIVE
                                    (ID,VOLUNTEERID,ADMINISTRATIVECODEID,EXPIRESON,VERIFIED,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@VOLUNTEERID,@ADMINISTRATIVECODEID,@EXPIRESON,@VERIFIED,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                            if @TRAITTYPE = 1 --Certification

                                insert into dbo.VOLUNTEERCERTIFICATION
                                    (ID,VOLUNTEERID,CERTIFICATIONCODEID,CERTIFICATE,EXPIRESON,VERIFIED,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@VOLUNTEERID,@CERTIFICATIONCODEID,@CERTIFICATE,@EXPIRESON,@VERIFIED,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                            if @TRAITTYPE = 2 --Course

                                insert into dbo.VOLUNTEERCOURSE
                                    (ID,VOLUNTEERID,COURSECODEID,EXPIRESON,VERIFIED,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@VOLUNTEERID,@COURSECODEID,@EXPIRESON,@VERIFIED,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                            if @TRAITTYPE = 3 --Interest

                                insert into dbo.VOLUNTEERINTEREST
                                    (ID,VOLUNTEERID,VOLUNTEERINTERESTCODEID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@VOLUNTEERID,@VOLUNTEERINTERESTCODEID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                            if @TRAITTYPE = 4 --License

                                insert into dbo.VOLUNTEERLICENSE
                                    (ID,VOLUNTEERID,LICENSECODEID,LICENSENUMBER,EXPIRESON,VERIFIED,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@VOLUNTEERID,@LICENSECODEID,@LICENSENUMBER,@EXPIRESON,@VERIFIED,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                            if @TRAITTYPE = 5 --Medical

                                insert into dbo.VOLUNTEERMEDICAL
                                    (ID,VOLUNTEERID,MEDICALCODEID,EXPIRESON,VERIFIED,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@VOLUNTEERID,@MEDICALCODEID,@EXPIRESON,@VERIFIED,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                            if @TRAITTYPE = 6 --Skill

                                insert into dbo.VOLUNTEERSKILL
                                    (ID,VOLUNTEERID,SKILLCODEID,SKILLLEVELID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@VOLUNTEERID,@SKILLCODEID,@SKILLLEVELID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                            if @TRAITTYPE = 7 --Special Need

                                insert into dbo.VOLUNTEERSPECIALNEED
                                    (ID,VOLUNTEERID,SPECIALNEEDCODEID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@VOLUNTEERID,@SPECIALNEEDCODEID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                        end try

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

                        return 0;