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;