USP_DATAFORMTEMPLATE_EDIT_VOLUNTEERADDITIONAL

The save procedure used by the edit dataform template "Volunteer Additional Information Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@AVAILABILITYCOMMENT nvarchar(4000) IN Availability comment
@UNAVAILABLEFROM datetime IN Unavailable from
@UNAVAILABLETO datetime IN to

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_VOLUNTEERADDITIONAL
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier,    
                        @AVAILABILITYCOMMENT nvarchar(4000),
                        @UNAVAILABLEFROM datetime,
                        @UNAVAILABLETO datetime
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

                        set @CURRENTDATE = getdate();

                        begin try
                            if exists (select 1 from dbo.VOLUNTEER where ID = @ID) begin
                                update dbo.VOLUNTEER
                                set AVAILABILITYCOMMENT = @AVAILABILITYCOMMENT,
                                    UNAVAILABLEFROM = @UNAVAILABLEFROM,
                                    UNAVAILABLETO = @UNAVAILABLETO,
                                     CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                where
                                    ID = @ID;
                            end
                            else begin
                                insert into dbo.VOLUNTEER
                                (
                                    ID,
                                    AVAILABILITYCOMMENT,
                                    UNAVAILABLEFROM,
                                    UNAVAILABLETO,
                                    ADDEDBYID,
                                     CHANGEDBYID,
                                    DATEADDED,
                                    DATECHANGED
                                )
                                values
                                (
                                    @ID,
                                    @AVAILABILITYCOMMENT,
                                    @UNAVAILABLEFROM,
                                    @UNAVAILABLETO,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID,
                                    @CURRENTDATE,
                                    @CURRENTDATE
                                );
                            end
                        end try

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

                        return 0;