USP_DATAFORMTEMPLATE_EDIT_EXCHANGESERVER

The save procedure used by the edit dataform template "Exchange Server 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.
@USERNAME nvarchar(100) IN User name
@PASSWORD nvarchar(100) IN Password
@DOMAIN nvarchar(250) IN Domain
@URL nvarchar(500) IN URL
@USEIMPERSONATION bit IN Use Exchange impersonation
@ISDEFAULTSERVER bit IN Default server

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EXCHANGESERVER
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier,
                        @USERNAME nvarchar(100),
                        @PASSWORD nvarchar(100),
                        @DOMAIN nvarchar(250),
                        @URL nvarchar(500),
                        @USEIMPERSONATION bit,
                        @ISDEFAULTSERVER bit
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime                                        

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

                        set @CURRENTDATE = getdate()

                        begin try
                            -- Open the symmetric key for encryption

                            exec dbo.USP_GET_KEY_ACCESS;                            

                            if @ISDEFAULTSERVER = 1 begin
                                update 
                                    dbo.EXCHANGESERVER 
                                set 
                                    EXCHANGESERVER.ISDEFAULTSERVER = 0,
                                    EXCHANGESERVER.DATECHANGED = @CURRENTDATE,
                                    EXCHANGESERVER.CHANGEDBYID = @CHANGEAGENTID
                                where
                                    EXCHANGESERVER.ISDEFAULTSERVER = 1 and EXCHANGESERVER.ID <> @ID;
                            end

                            update
                                dbo.EXCHANGESERVER
                            set
                                USERNAME = @USERNAME
                                PASSWORD = EncryptByKey(Key_GUID('sym_BBInfinity'), @PASSWORD), 
                                DOMAIN = @DOMAIN
                                URL = @URL
                                DATECHANGED = @CURRENTDATE
                                CHANGEDBYID = @CHANGEAGENTID,
                                USEIMPERSONATION = @USEIMPERSONATION,
                                ISDEFAULTSERVER = @ISDEFAULTSERVER
                            where
                                EXCHANGESERVER.ID = @ID;

                            -- Make sure we close the symmetric key

                            close symmetric key sym_BBInfinity;
                        end try

                        begin catch
                            -- Make sure we close the symmetric key

                            close symmetric key sym_BBInfinity;

                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;