USP_DATAFORMTEMPLATE_ADD_DAILYSALESQUICKMEMBERSHIP_UPGRADE
The save procedure used by the add dataform template "Daily Sales Quick Membership Upgrade Add Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@SALESORDERID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@MEMBERSHIPID | uniqueidentifier | IN | |
@MEMBERSHIPLEVELID | uniqueidentifier | IN | |
@MEMBERSHIPLEVELTERMID | uniqueidentifier | IN | |
@MEMBERSHIPPROGRAMID | uniqueidentifier | IN | |
@MEMBERSHIPLEVELTYPECODEID | uniqueidentifier | IN | |
@NUMBEROFCHILDREN | int | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DAILYSALESQUICKMEMBERSHIP_UPGRADE
(
@ID uniqueidentifier = null output,
@SALESORDERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@MEMBERSHIPID uniqueidentifier = null,
@MEMBERSHIPLEVELID uniqueidentifier = null,
@MEMBERSHIPLEVELTERMID uniqueidentifier = null,
-- adding these for constraint catching, they will be determined from the MEMBERSHIPID
@MEMBERSHIPPROGRAMID uniqueidentifier = null,
@MEMBERSHIPLEVELTYPECODEID uniqueidentifier = null,
@NUMBEROFCHILDREN integer = 0
)
as
set nocount on;
if @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @COMMENTS nvarchar(1000) = null,
@EXPIRATIONDATE datetime;
select
@MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAMID,
@NUMBEROFCHILDREN = NUMBEROFCHILDREN,
@COMMENTS = '',
@EXPIRATIONDATE = case
when MEMBERSHIP.STATUSCODE = 0 and dateadd(month, (select AFTEREXPIRATION from dbo.MEMBERSHIPLEVEL where ID = MEMBERSHIP.MEMBERSHIPLEVELID), MEMBERSHIP.EXPIRATIONDATE) >= @CURRENTDATE
then dbo.UFN_MEMBERSHIP_CALCULATEEXPIRATIONDATEBYLEVEL(MEMBERSHIPLEVELID, MEMBERSHIPLEVELTERMID, MEMBERSHIP.EXPIRATIONDATE)
else dbo.UFN_MEMBERSHIP_CALCULATEEXPIRATIONDATEBYLEVEL(MEMBERSHIPLEVELID, MEMBERSHIPLEVELTERMID, @CURRENTDATE)
end
from dbo.MEMBERSHIP
where ID = @MEMBERSHIPID
begin try
exec dbo.USP_DATAFORMTEMPLATE_ADD_DAILYSALESORDER_MEMBERSHIPRENEW
@ID output,
@CHANGEAGENTID,
@SALESORDERID,
@MEMBERSHIPID,
@MEMBERSHIPPROGRAMID,
@MEMBERSHIPLEVELID,
@MEMBERSHIPLEVELTERMID,
@MEMBERSHIPLEVELTYPECODEID,
@NUMBEROFCHILDREN,
@COMMENTS,
@EXPIRATIONDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0