USP_DATAFORMTEMPLATE_EDIT_HOUSEHOLD_2
The save procedure used by the edit dataform template "Household Edit Form 2".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CUSTOMNAME | nvarchar(100) | IN | Custom name |
@DESCRIPTION | nvarchar(300) | IN | Description |
@WEBADDRESS | UDT_WEBADDRESS | IN | Website |
@GIVESANONYMOUSLY | bit | IN | Household gives anonymously |
@PICTURE | varbinary | IN | Image |
@PICTURETHUMBNAIL | varbinary | IN | Image |
@PICTURECHANGED | bit | IN | Picture changed |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_HOUSEHOLD_2
(
@ID uniqueidentifier,
@CUSTOMNAME nvarchar(100),
@DESCRIPTION nvarchar(300),
@WEBADDRESS dbo.UDT_WEBADDRESS,
@GIVESANONYMOUSLY bit,
@PICTURE varbinary(max),
@PICTURETHUMBNAIL varbinary(max),
@PICTURECHANGED bit,
@CHANGEAGENTID uniqueidentifier = null
)
as
set nocount on
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @NAME nvarchar(100);
declare @NAMEFORMATFUNCTIONID uniqueidentifier;
begin try
if @CUSTOMNAME is null or @CUSTOMNAME = ''
begin
declare @PRIMARYMEMBER as uniqueidentifier;
select @PRIMARYMEMBER = MEMBERID from dbo.GROUPMEMBER where dbo.GROUPMEMBER.GROUPID = @ID and dbo.GROUPMEMBER.ISPRIMARY <>0
if @PRIMARYMEMBER is not null
select @NAME = left(dbo.UFN_NAMEFORMAT_FROMID(COALESCE (GD.NAMEFORMATFUNCTIONID, (select top(1) NAMEFORMATFUNCTIONID from dbo.HOUSEHOLDINFO order by DATEADDED)), GM.MEMBERID), 100)
from dbo.GROUPDATA GD
left join dbo.GROUPMEMBER GM on GD.ID = GM.GROUPID and GM.ISPRIMARY <> 0
where GD.ID = @ID
else
set @NAME = null;
select @NAMEFORMATFUNCTIONID = COALESCE (GD.NAMEFORMATFUNCTIONID, (select top(1) NAMEFORMATFUNCTIONID from dbo.HOUSEHOLDINFO order by DATEADDED))
from GROUPDATA GD
where GD.ID = @ID;
end
else
begin
set @NAME = @CUSTOMNAME;
set @NAMEFORMATFUNCTIONID = null;
end
if @PICTURECHANGED = 1
update
dbo.[CONSTITUENT]
set
[KEYNAME] = @NAME,
[DISPLAYNAME] = '',
[GIVESANONYMOUSLY] = @GIVESANONYMOUSLY,
[PICTURE] = @PICTURE,
[PICTURETHUMBNAIL] = @PICTURETHUMBNAIL,
[WEBADDRESS] = @WEBADDRESS,
[DATECHANGED] = @CURRENTDATE,
[CHANGEDBYID] = @CHANGEAGENTID
where
[CONSTITUENT].ID = @ID;
else
update
dbo.[CONSTITUENT]
set
[KEYNAME] = @NAME,
[DISPLAYNAME] = '',
[WEBADDRESS] = @WEBADDRESS,
[GIVESANONYMOUSLY] = @GIVESANONYMOUSLY,
[DATECHANGED] = @CURRENTDATE,
[CHANGEDBYID] = @CHANGEAGENTID
where
[CONSTITUENT].ID = @ID;
update
dbo.GROUPDATA
set
[DESCRIPTION] = @DESCRIPTION,
[NAMEFORMATFUNCTIONID] = @NAMEFORMATFUNCTIONID,
[DATECHANGED] = @CURRENTDATE,
[CHANGEDBYID] = @CHANGEAGENTID
where
ID = @ID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;