USP_DATAFORMTEMPLATE_EDIT_GROUPSALESDEFAULT_1
The save procedure used by the edit dataform template "Group Sales Default 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. |
@DEPOSITREQUIRED | bit | IN | Reservation deposit required |
@DEPOSITTIMEVALUE | smallint | IN | Due date |
@DEPOSITTIMECODE | tinyint | IN | |
@DEPOSITTYPECODE | tinyint | IN | Type |
@DEPOSITAMOUNT | money | IN | Value |
@DEPOSITPERCENT | decimal(5, 2) | IN | Value |
@CONTRACTREQUIRED | bit | IN | Contract required |
@CONTRACTTIMEVALUE | smallint | IN | Due date |
@CONTRACTTIMECODE | tinyint | IN | |
@CONTRACTLETTERTEMPLATEID | uniqueidentifier | IN | Default template |
@CONTRACTRESERVATIONATTACHMENTTYPECODEID | uniqueidentifier | IN | Attachment type |
@FINALTIMEVALUE | smallint | IN | Balance due |
@FINALTIMECODE | tinyint | IN | |
@FINALTIMEWITHDEPOSITCODE | tinyint | IN | |
@FINALTIMEWITHOUTDEPOSITCODE | tinyint | IN | |
@FINALCOUNTREQUIRED | bit | IN | Final count required |
@FINALCOUNTTIMEVALUE | smallint | IN | Due date |
@FINALCOUNTTIMECODE | tinyint | IN | |
@SECURITYDEPOSITREQUIRED | bit | IN | Security deposit required |
@SECURITYDEPOSITTIMEVALUE | smallint | IN | Due date |
@SECURITYDEPOSITTIMECODE | tinyint | IN | |
@SECURITYDEPOSITTYPECODE | tinyint | IN | Type |
@SECURITYDEPOSITAMOUNT | money | IN | Value |
@SECURITYDEPOSITPERCENT | decimal(5, 2) | IN | Value |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GROUPSALESDEFAULT_1
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@DEPOSITREQUIRED bit,
@DEPOSITTIMEVALUE smallint,
@DEPOSITTIMECODE tinyint,
@DEPOSITTYPECODE tinyint,
@DEPOSITAMOUNT money,
@DEPOSITPERCENT decimal(5,2),
@CONTRACTREQUIRED bit,
@CONTRACTTIMEVALUE smallint,
@CONTRACTTIMECODE tinyint,
@CONTRACTLETTERTEMPLATEID uniqueidentifier,
@CONTRACTRESERVATIONATTACHMENTTYPECODEID uniqueidentifier,
@FINALTIMEVALUE smallint,
@FINALTIMECODE tinyint,
@FINALTIMEWITHDEPOSITCODE tinyint,
@FINALTIMEWITHOUTDEPOSITCODE tinyint,
@FINALCOUNTREQUIRED bit,
@FINALCOUNTTIMEVALUE smallint,
@FINALCOUNTTIMECODE tinyint,
@SECURITYDEPOSITREQUIRED bit,
@SECURITYDEPOSITTIMEVALUE smallint,
@SECURITYDEPOSITTIMECODE tinyint,
@SECURITYDEPOSITTYPECODE tinyint,
@SECURITYDEPOSITAMOUNT money,
@SECURITYDEPOSITPERCENT decimal(5,2)
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
if @DEPOSITTYPECODE = 1 and @DEPOSITPERCENT = 0.00
raiserror('BBERR_INVALIDPERCENT', 13, 1)
if @DEPOSITTYPECODE = 1
set @DEPOSITAMOUNT = 0
else
set @DEPOSITPERCENT = 0.00
if @DEPOSITREQUIRED = 1
set @FINALTIMECODE = @FINALTIMEWITHDEPOSITCODE
else
set @FINALTIMECODE = @FINALTIMEWITHOUTDEPOSITCODE
if @SECURITYDEPOSITTYPECODE = 1 and @SECURITYDEPOSITPERCENT = 0.00
raiserror('BBERR_SECURITYINVALIDPERCENT', 13, 1)
if @SECURITYDEPOSITTYPECODE = 1
set @SECURITYDEPOSITAMOUNT = 0
else
set @SECURITYDEPOSITPERCENT = 0.00
--Determine if due dates would result in an error if allowed to be used in the reservation add form
--Since time considerations vary for each due date (including # of days, the date that # is in relation, and the kind of relationship the # and date have),
--we can only find a conflict if two dates have the same kind of relationship
declare @DEPOSITDUEDATE datetime
declare @CONTRACTDUEDATE datetime
declare @FINALCOUNTDUEDATE datetime
declare @FINALTIMEDUEDATE datetime
declare @SECURITYDEPOSITDUEDATE datetime
--Dates based on if visit was today and due date based on this date
if @DEPOSITREQUIRED = 1 and @DEPOSITTIMECODE = 0
set @DEPOSITDUEDATE = dateadd(day, -1 * @DEPOSITTIMEVALUE, @CURRENTDATE)
if @CONTRACTREQUIRED = 1 and @CONTRACTTIMECODE = 0
set @CONTRACTDUEDATE = dateadd(day, - 1 * @CONTRACTTIMEVALUE, @CURRENTDATE)
if @FINALCOUNTREQUIRED = 1 and @FINALCOUNTTIMECODE = 0
set @FINALCOUNTDUEDATE = dateadd(day, -1 * @FINALCOUNTTIMEVALUE, @CURRENTDATE)
if @FINALTIMECODE = 0
set @FINALTIMEDUEDATE = dateadd(day, -1 * @FINALTIMEVALUE, @CURRENTDATE)
if @SECURITYDEPOSITREQUIRED = 1 and @SECURITYDEPOSITTIMECODE = 0
set @SECURITYDEPOSITDUEDATE = dateadd(day, -1 * @SECURITYDEPOSITTIMEVALUE, @CURRENTDATE)
--Dates based on if order was placed today and due date based on this date
if @DEPOSITREQUIRED = 1 and @DEPOSITTIMECODE = 1
set @DEPOSITDUEDATE = dateadd(day, @DEPOSITTIMEVALUE, @CURRENTDATE)
if @CONTRACTREQUIRED = 1 and @CONTRACTTIMECODE = 1
set @CONTRACTDUEDATE = dateadd(day, @CONTRACTTIMEVALUE, @CURRENTDATE)
if @FINALCOUNTREQUIRED = 1 and @FINALCOUNTTIMECODE = 1
set @FINALCOUNTDUEDATE = dateadd(day, @FINALCOUNTTIMEVALUE, @CURRENTDATE)
if @FINALTIMECODE = 1
set @FINALTIMEDUEDATE = dateadd(day, @FINALTIMEVALUE, @CURRENTDATE)
if @SECURITYDEPOSITREQUIRED = 1 and @SECURITYDEPOSITTIMECODE = 1
set @SECURITYDEPOSITDUEDATE = dateadd(day, @SECURITYDEPOSITTIMEVALUE, @CURRENTDATE)
if @DEPOSITREQUIRED = 1 and (@DEPOSITTIMECODE = @FINALTIMECODE) and (@DEPOSITDUEDATE > @FINALTIMEDUEDATE)
raiserror('BBERR_DEPOSITDUEAFTERBALANCEDUE', 13, 1);
if @CONTRACTREQUIRED = 1 and (@CONTRACTTIMECODE = @FINALTIMECODE) and (@CONTRACTDUEDATE > @FINALTIMEDUEDATE)
raiserror('BBERR_CONTRACTDUEAFTERBALANCEDUE', 13, 1);
if @FINALCOUNTREQUIRED = 1 and (@FINALCOUNTTIMECODE = @FINALTIMECODE) and (@FINALCOUNTDUEDATE > @FINALTIMEDUEDATE)
raiserror('BBERR_FINALCOUNTDUEAFTERBALANCEDUE', 13, 1);
if @SECURITYDEPOSITREQUIRED = 1 and (@SECURITYDEPOSITTIMECODE = @FINALTIMECODE) and (@SECURITYDEPOSITDUEDATE > @FINALTIMEDUEDATE)
raiserror('BBERR_SECURITYDEPOSITDUEAFTERBALANCEDUE', 13, 1);
update dbo.GROUPSALESDEFAULT set
DEPOSITREQUIRED = @DEPOSITREQUIRED,
DEPOSITTIMEVALUE = @DEPOSITTIMEVALUE,
DEPOSITTIMECODE = @DEPOSITTIMECODE,
DEPOSITTYPECODE = @DEPOSITTYPECODE,
DEPOSITAMOUNT = case @DEPOSITTYPECODE when 0 then @DEPOSITAMOUNT else 0 end,
DEPOSITPERCENT = case @DEPOSITTYPECODE when 1 then @DEPOSITPERCENT else 0 end,
CONTRACTREQUIRED = @CONTRACTREQUIRED,
CONTRACTTIMEVALUE = @CONTRACTTIMEVALUE,
CONTRACTTIMECODE = @CONTRACTTIMECODE,
CONTRACTLETTERTEMPLATEID = @CONTRACTLETTERTEMPLATEID,
CONTRACTRESERVATIONATTACHMENTTYPECODEID = @CONTRACTRESERVATIONATTACHMENTTYPECODEID,
FINALCOUNTREQUIRED = @FINALCOUNTREQUIRED,
FINALCOUNTTIMEVALUE = @FINALCOUNTTIMEVALUE,
FINALCOUNTTIMECODE = @FINALCOUNTTIMECODE,
FINALTIMEVALUE = @FINALTIMEVALUE,
FINALTIMECODE = @FINALTIMECODE,
SECURITYDEPOSITREQUIRED = @SECURITYDEPOSITREQUIRED,
SECURITYDEPOSITTIMEVALUE = @SECURITYDEPOSITTIMEVALUE,
SECURITYDEPOSITTIMECODE = @SECURITYDEPOSITTIMECODE,
SECURITYDEPOSITTYPECODE = @SECURITYDEPOSITTYPECODE,
SECURITYDEPOSITAMOUNT = case @SECURITYDEPOSITTYPECODE when 0 then @SECURITYDEPOSITAMOUNT else 0 end,
SECURITYDEPOSITPERCENT = case @SECURITYDEPOSITTYPECODE when 1 then @SECURITYDEPOSITPERCENT else 0 end,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;