USP_DATAFORMTEMPLATE_EDIT_RESERVATIONCONTRACT
The save procedure used by the edit dataform template "Group Sales Contract 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. |
@NAME | nvarchar(50) | IN | Name |
@RESERVATIONATTACHMENTTYPECODEID | uniqueidentifier | IN | Attachment type |
@FILE | varbinary | IN | File |
@FILENAME | nvarchar(255) | IN | File name |
@FILECHANGED | bit | IN | File changed |
@MARKCONTRACTSENT | bit | IN | Mark contract as sent |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESERVATIONCONTRACT (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(50),
@RESERVATIONATTACHMENTTYPECODEID uniqueidentifier,
@FILE varbinary(max),
@FILENAME nvarchar(255),
@FILECHANGED bit,
@MARKCONTRACTSENT bit
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @STATUSCODE tinyint;
select @STATUSCODE = SALESORDER.STATUSCODE
from dbo.SALESORDER
inner join dbo.RESERVATION on SALESORDER.ID = RESERVATION.ID
where RESERVATION.ID = @ID;
begin try
if @STATUSCODE in (1, 5)
raiserror('BBERR_INVALIDSTATUS', 13, 1);
declare @PREVIOUSATTACHMENTID uniqueidentifier = (select ID from dbo.RESERVATIONATTACHMENT where RESERVATIONID = @ID and ISCONTRACT = 1)
update dbo.RESERVATIONATTACHMENT set
ISCONTRACT = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @PREVIOUSATTACHMENTID
insert into dbo.RESERVATIONATTACHMENT
(
[ID],
[DATEENTERED],
[TITLE],
[RESERVATIONATTACHMENTTYPECODEID],
[FILENAME],
[FILE],
[RESERVATIONID],
[ISCONTRACT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
newid(),
@CURRENTDATE,
@NAME,
@RESERVATIONATTACHMENTTYPECODEID,
@FILENAME,
case
when @FILECHANGED = 1 then @FILE
else (select [FILE] from dbo.RESERVATIONATTACHMENT where ID = @PREVIOUSATTACHMENTID)
end,
@ID,
1,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
if @MARKCONTRACTSENT = 1
begin
update dbo.RESERVATION set
CONTRACTSENT = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
insert into dbo.[RESERVATIONSTATUSHISTORY]
(
[ID],
[RESERVATIONID],
[STATUSCODE],
[STATUSDATE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
newid(),
@ID,
6,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
exec dbo.USP_RESERVATION_UPDATESTATUSANDHISTORY @ID, @CHANGEAGENTID
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;