USP_DATAFORMTEMPLATE_ADD_DAILYSALESQUICKMEMBERSHIP_RENEW
The save procedure used by the add dataform template "Daily Sales Quick Membership Renew 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 | |
@MEMBERSHIPPROGRAMID | uniqueidentifier | IN | |
@MEMBERSHIPLEVELID | uniqueidentifier | IN | |
@MEMBERSHIPLEVELTERMID | uniqueidentifier | IN | |
@MEMBERSHIPLEVELTYPECODEID | uniqueidentifier | IN | |
@NUMBEROFCHILDREN | int | IN | |
@GIVENBYID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DAILYSALESQUICKMEMBERSHIP_RENEW
(
@ID uniqueidentifier = null output,
@SALESORDERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@MEMBERSHIPID uniqueidentifier = null,
-- adding these for constraint catching, they will be determined from the MEMBERSHIPID
@MEMBERSHIPPROGRAMID uniqueidentifier = null,
@MEMBERSHIPLEVELID uniqueidentifier = null,
@MEMBERSHIPLEVELTERMID uniqueidentifier = null,
@MEMBERSHIPLEVELTYPECODEID uniqueidentifier = null,
@NUMBEROFCHILDREN integer = 0,
@GIVENBYID uniqueidentifier = null
)
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),
@EXPIRATIONDATE datetime
select
@MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAMID,
@MEMBERSHIPLEVELID = MEMBERSHIPLEVELID,
@MEMBERSHIPLEVELTERMID = MEMBERSHIPLEVELTERMID,
@MEMBERSHIPLEVELTYPECODEID = MEMBERSHIPLEVELTYPECODEID,
@NUMBEROFCHILDREN = NUMBEROFCHILDREN,
@COMMENTS = '',
@EXPIRATIONDATE =
case
when MEMBERSHIP.STATUSCODE in (0,3,4) and dateadd(month, (select AFTEREXPIRATION from dbo.MEMBERSHIPLEVEL where ID = MEMBERSHIP.MEMBERSHIPLEVELID), MEMBERSHIP.EXPIRATIONDATE) >= @CURRENTDATE then
dbo.UFN_MEMBERSHIP_CALCULATERENEWALEXPIRATION_2(MEMBERSHIP.EXPIRATIONDATE, MEMBERSHIP.MEMBERSHIPLEVELTERMID)
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,
@GIVENBYID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0