USP_DATAFORMTEMPLATE_EDIT_EDUCATIONALINSTITUTION

The save procedure used by the edit dataform template "Educational Institution 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.
@NAME nvarchar(100) IN Name
@ISAFFILIATED bit IN This institution is affiliated with our organization

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EDUCATIONALINSTITUTION
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(100),
                        @ISAFFILIATED bit
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

                        begin try
                            if    dbo.UFN_EDUCATIONALINSTITUTION_NAMEISUNIQUE(@ID, @NAME)=1
                            begin
                                if @CHANGEAGENTID is null  
                                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                                set @CURRENTDATE = getdate();

                              update dbo.CONSTITUENT
                                set KEYNAME = @NAME,
                                                    DATECHANGED = @CURRENTDATE,
                                                    CHANGEDBYID = @CHANGEAGENTID
                              where ID = @ID;

                              -- Might need to create or remove a school here 

                              declare @ISSCHOOL bit;
                              set @ISSCHOOL = dbo.UFN_CONSTITUENT_ISSCHOOL(@ID);

                              if ((@ISAFFILIATED = 1) and (@ISSCHOOL = 0))
                              begin
                                insert into dbo.SCHOOL
                                (
                                   ID,
                                   ADDEDBYID,
                                   CHANGEDBYID,
                                   DATEADDED,
                                   DATECHANGED
                                )
                                values
                                (
                                  @ID,
                                                  @CHANGEAGENTID,
                                                    @CHANGEAGENTID,
                                                  @CURRENTDATE,
                                                  @CURRENTDATE
                                )
                              end
                              else
                              begin if ((@ISAFFILIATED = 0) and (@ISSCHOOL = 1))
                                -- Remove the school record

                                exec dbo.USP_SCHOOL_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
                              end
                            end
                        else
                            raiserror ('ERR_EDUCATIONALINSTITUTION_NAMEISUNIQUE',13,1);
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;