USP_DATAFORMTEMPLATE_ADD_PAPERLESSMANDATESSITECONFIGURATION

The save procedure used by the add dataform template "Paperless Mandates Site Configuration Add Data 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.
@SELECTEDSITES xml IN Sites
@ENABLED bit IN Use paperless mandates
@DAYSADVANCEDNOTICE int IN Days of advanced notice
@SECURITYMODECODE tinyint IN
@BRANCHSITEID uniqueidentifier IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_PAPERLESSMANDATESSITECONFIGURATION
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @SELECTEDSITES xml = null,
                        @ENABLED bit = null,
                        @DAYSADVANCEDNOTICE integer = null,
                        @SECURITYMODECODE tinyint = 2,
                        @BRANCHSITEID uniqueidentifier = 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 ((select count(*) from @SELECTEDSITES.nodes('/SELECTEDSITES/ITEM') SELECTEDSITES(ITEM)) < 1)
                            raiserror('NOSITESSELECTED',13,1);    

                        insert into dbo.PAPERLESSMANDATESSITECONFIGURATION(
                            ID, 
                            ENABLED, 
                            DAYSADVANCEDNOTICE, 
                            ADDEDBYID, 
                            CHANGEDBYID, 
                            DATEADDED, 
                            DATECHANGED
                        )                    
                            select 
                                SELECTEDSITES.ITEM.value('(SITEID)[1]','uniqueidentifier') as 'SITEID',
                                @ENABLED,
                                case 
                                    when @ENABLED = 1 then @DAYSADVANCEDNOTICE
                                    else -1
                                end,
                                @CHANGEAGENTID
                                @CHANGEAGENTID
                                @CURRENTDATE
                                @CURRENTDATE
                            from 
                                @SELECTEDSITES.nodes('/SELECTEDSITES/ITEM') SELECTEDSITES(ITEM)
                            left join dbo.PAPERLESSMANDATESSITECONFIGURATION CONFIGURATION on
                                SELECTEDSITES.ITEM.value('(SITEID)[1]','uniqueidentifier') = CONFIGURATION.ID
                            where
                                CONFIGURATION.ID is null


                            update
                                dbo.PAPERLESSMANDATESSITECONFIGURATION
                            set
                                ENABLED = @ENABLED
                                DAYSADVANCEDNOTICE = case 
                                                        when @ENABLED = 1 then @DAYSADVANCEDNOTICE
                                                        else -1
                                                     end,
                                CHANGEDBYID = @CHANGEAGENTID
                                DATECHANGED = @CURRENTDATE
                            where ID in (select 
                                            SELECTEDSITES.ITEM.value('(SITEID)[1]','uniqueidentifier') as 'ID'
                                         from
                                            @SELECTEDSITES.nodes('/SELECTEDSITES/ITEM') SELECTEDSITES(ITEM)    
                                        );            
                    end try

                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                    return 0