USP_DATAFORMTEMPLATE_ADD_MEMBER
The save procedure used by the add dataform template "Member 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. |
@MEMBERSHIPID | uniqueidentifier | IN | Membership |
@CONSTITUENTID | uniqueidentifier | IN | Constituent |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_MEMBER
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@MEMBERSHIPID uniqueidentifier,
@CONSTITUENTID uniqueidentifier
)
as
set nocount on;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @MEMBERID uniqueidentifier;
declare @ISPRIMARY bit;
declare @CURRENTDATE datetime;
select
@MEMBERID = ID
from
dbo.MEMBER
where
MEMBERSHIPID = @MEMBERSHIPID
and CONSTITUENTID = @CONSTITUENTID
and ISDROPPED = 0;
begin try
if @MEMBERID is not null
raiserror('ERR_MEMBER_EXISTS', 13, 1);
if exists (select ID from dbo.MEMBER where MEMBERSHIPID = @MEMBERSHIPID and ISPRIMARY = 1)
set @ISPRIMARY = 0;
else
set @ISPRIMARY = 1;
set @CURRENTDATE = getdate();
insert into dbo.MEMBER
(
ID,
CONSTITUENTID,
MEMBERSHIPID,
ISPRIMARY,
ISDROPPED,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CONSTITUENTID,
@MEMBERSHIPID,
@ISPRIMARY,
0,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;