USP_DATAFORMTEMPLATE_EDIT_RESERVATIONCONTACT
The save procedure used by the edit dataform template "Reservation Contact Edit Data 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. |
@CONTACTRELATIONSHIPID | uniqueidentifier | IN | Contact |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESERVATIONCONTACT
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CONTACTRELATIONSHIPID uniqueidentifier
)
as
set nocount on;
declare @CONSTITUENTID uniqueidentifier;
declare @PREVIOUSCONTACTID uniqueidentifier;
declare @CURRENTDATE datetime;
declare @NAME nvarchar(100);
declare @STATUSCODE tinyint;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
select @CONSTITUENTID = SALESORDER.CONSTITUENTID,
@NAME = RESERVATION.NAME,
@PREVIOUSCONTACTID = SALESORDER.RECIPIENTID,
@STATUSCODE = STATUSCODE
from dbo.SALESORDER
inner join dbo.RESERVATION on SALESORDER.ID = RESERVATION.ID
where SALESORDER.ID = @ID;
if @STATUSCODE in (1, 5)
raiserror('BBERR_INVALIDSTATUS', 13, 1);
set @CURRENTDATE = getdate();
begin try
if dbo.UFN_CONSTITUENT_ISORGANIZATION(@CONSTITUENTID) = 0
raiserror('ERR_NOTORGANIZATION', 13, 1);
declare @CONTACTID uniqueidentifier;
declare @ADDRESSID uniqueidentifier;
declare @EMAILADDRESSID uniqueidentifier;
declare @PHONEID uniqueidentifier;
exec dbo.USP_RESERVATION_GETCONTACTINFO @CONSTITUENTID, @CONTACTRELATIONSHIPID,
@CONTACTID output, @ADDRESSID output, @EMAILADDRESSID output, @PHONEID output;
if @CONTACTID <> @PREVIOUSCONTACTID
exec dbo.USP_CONSTITUENT_CHECKINACTIVEANDDECEASED @CONTACTID, 'BBERR_CONTACTISINACTIVE', 'BBERR_CONTACTISDECEASED';
declare @KEYNAME nvarchar(100);
declare @CONTACTKEYNAME nvarchar(100);
select @KEYNAME = KEYNAME
from dbo.CONSTITUENT
where CONSTITUENT.ID = @CONSTITUENTID;
select @CONTACTKEYNAME = KEYNAME
from dbo.CONSTITUENT
where @PREVIOUSCONTACTID = CONSTITUENT.ID;
declare @DEFAULTNAME nvarchar(100);
set @DEFAULTNAME = @KEYNAME + ' - ' + @CONTACTKEYNAME;
if @NAME = @DEFAULTNAME
begin
declare @NEWNAME nvarchar(100);
select @NEWNAME = @KEYNAME + ' - ' + KEYNAME
from dbo.CONSTITUENT
where ID = @CONTACTID;
update
dbo.RESERVATION
set
NAME = @NEWNAME,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
end
update
dbo.SALESORDER
set
RECIPIENTID = @CONTACTID,
ADDRESSID = @ADDRESSID,
EMAILADDRESSID = @EMAILADDRESSID,
PHONEID = @PHONEID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;