USP_DATAFORMTEMPLATE_EDITLOAD_DAILYSALESORDERITEMMEMBERSHIP
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@TSLONG | bigint | INOUT | |
@ORDERCONSTITUENTID | uniqueidentifier | INOUT | |
@ORDERCONSTITUENTNAME | nvarchar(200) | INOUT | |
@MEMBERSHIPID | uniqueidentifier | INOUT | |
@MEMBERSHIPPROGRAMID | uniqueidentifier | INOUT | |
@MEMBERSHIPLEVELID | uniqueidentifier | INOUT | |
@MEMBERSHIPLEVELTERMID | uniqueidentifier | INOUT | |
@MEMBERSHIPLEVELTYPECODEID | uniqueidentifier | INOUT | |
@COMMENTS | nvarchar(1000) | INOUT | |
@ISGIFT | bit | INOUT | |
@SENDRENEWALCODE | tinyint | INOUT | |
@EXPIRATIONDATE | datetime | INOUT | |
@MEMBERS | xml | INOUT | |
@MEMBERSHIPCARDS | xml | INOUT | |
@MEMBERSHIPPROGRAMADDON | xml | INOUT | |
@GIVENBYID | uniqueidentifier | INOUT | |
@STATUSCODE | tinyint | INOUT | |
@NUMBEROFCHILDREN | tinyint | INOUT | |
@PRICE | money | INOUT | |
@HASADDONS | bit | INOUT | |
@TOTALADDITIONALMEMBERS | tinyint | INOUT | |
@ISMIDTERMUPGRADE | bit | INOUT | |
@MIDTERMUPGRADEPRICE | money | INOUT | |
@LOADEDADDONS | xml | INOUT | |
@ACTIONCODES | xml | INOUT | |
@EXPIRATIONDATES | xml | INOUT | |
@CURRENTACTIONCODE | tinyint | INOUT | |
@CURRENTMEMBERSHIPEXPIRATIONDATE | date | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_DAILYSALESORDERITEMMEMBERSHIP(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@ORDERCONSTITUENTID uniqueidentifier = null output,
@ORDERCONSTITUENTNAME nvarchar(200) = null output,
@MEMBERSHIPID uniqueidentifier = null output,
@MEMBERSHIPPROGRAMID uniqueidentifier = null output,
@MEMBERSHIPLEVELID uniqueidentifier = null output,
@MEMBERSHIPLEVELTERMID uniqueidentifier = null output,
@MEMBERSHIPLEVELTYPECODEID uniqueidentifier = null output,
@COMMENTS nvarchar(1000) = null output,
@ISGIFT bit = null output,
@SENDRENEWALCODE tinyint = null output,
@EXPIRATIONDATE datetime = null output,
@MEMBERS xml = null output,
@MEMBERSHIPCARDS xml = null output,
@MEMBERSHIPPROGRAMADDON xml = null output,
@GIVENBYID uniqueidentifier = null output,
@STATUSCODE tinyint = null output,
@NUMBEROFCHILDREN tinyint = null output,
@PRICE money = null output,
@HASADDONS bit = null output,
@TOTALADDITIONALMEMBERS tinyint = null output,
@ISMIDTERMUPGRADE bit = null output,
@MIDTERMUPGRADEPRICE money = null output,
@LOADEDADDONS xml = null output,
@ACTIONCODES xml = null output,
@EXPIRATIONDATES xml = null output,
@CURRENTACTIONCODE tinyint = null output,
@CURRENTMEMBERSHIPEXPIRATIONDATE date = null output
)
as
set nocount on;
declare @TRANSACTIONDATE datetime = getdate();
declare @INITIALMEMBERSHIPLEVELID uniqueidentifier = null;
set @DATALOADED = 0;
set @TSLONG = 0;
select
@DATALOADED = 1,
@TSLONG = SALESORDERITEMMEMBERSHIP.TSLONG,
@ORDERCONSTITUENTID = CONSTITUENT.ID,
@ORDERCONSTITUENTNAME = CONSTITUENT.NAME,
@MEMBERSHIPID = SALESORDERITEMMEMBERSHIP.MEMBERSHIPID,
@MEMBERSHIPPROGRAMID = SALESORDERITEMMEMBERSHIP.MEMBERSHIPPROGRAMID,
@MEMBERSHIPLEVELID = SALESORDERITEMMEMBERSHIP.MEMBERSHIPLEVELID,
@MEMBERSHIPLEVELTERMID = SALESORDERITEMMEMBERSHIP.MEMBERSHIPLEVELTERMID,
@MEMBERSHIPLEVELTYPECODEID = SALESORDERITEMMEMBERSHIP.MEMBERSHIPLEVELTYPECODEID,
@NUMBEROFCHILDREN = SALESORDERITEMMEMBERSHIP.NUMBEROFCHILDREN,
@EXPIRATIONDATE = SALESORDERITEMMEMBERSHIP.EXPIRATIONDATE,
@COMMENTS = SALESORDERITEMMEMBERSHIP.COMMENTS,
@ISGIFT = SALESORDERITEMMEMBERSHIP.ISGIFT,
@SENDRENEWALCODE = SALESORDERITEMMEMBERSHIP.SENDRENEWALCODE,
@GIVENBYID = SALESORDERITEMMEMBERSHIP.GIVENBYID,
@STATUSCODE = isnull(MEMBERSHIP.STATUSCODE, 0),
@MEMBERS = (
select
SALESORDERITEMMEMBER.ID,
SALESORDERITEMMEMBER.MEMBERID as MEMBERID,
SALESORDERITEMMEMBER.CONSTITUENTID,
SALESORDERITEMMEMBER.ISPRIMARY
from
dbo.SALESORDERITEMMEMBER
where
SALESORDERITEMMEMBERSHIP.ID = SALESORDERITEMMEMBER.SALESORDERITEMMEMBERSHIPID
for xml raw('ITEM'),type,elements,root('MEMBERS'),binary base64
),
@MEMBERSHIPCARDS = (
select
SALESORDERITEMMEMBERSHIPCARD.ID,
SALESORDERITEMMEMBER.ID as MEMBERID,
SALESORDERITEMMEMBERSHIPCARD.MEMBERSHIPCARDID,
SALESORDERITEMMEMBERSHIPCARD.NAMEONCARD,
SALESORDERITEMMEMBERSHIPCARD.EXPIRATIONDATE
from
dbo.SALESORDERITEMMEMBERSHIPCARD
inner join
dbo.SALESORDERITEMMEMBER on SALESORDERITEMMEMBER.ID = SALESORDERITEMMEMBERSHIPCARD.SALESORDERITEMMEMBERID
where
SALESORDERITEMMEMBERSHIP.ID = SALESORDERITEMMEMBER.SALESORDERITEMMEMBERSHIPID
for xml raw('ITEM'),type,elements,root('MEMBERSHIPCARDS'),binary base64
),
@LOADEDADDONS = (
select
SALESORDERITEMMEMBERSHIPADDON.ID,
SALESORDERITEMMEMBERSHIPADDON.ADDONID,
SALESORDERITEM.QUANTITY
from
dbo.SALESORDERITEMMEMBERSHIPADDON
inner join
dbo.SALESORDERITEM on SALESORDERITEM.ID = SALESORDERITEMMEMBERSHIPADDON.ID
where
SALESORDERITEMMEMBERSHIPADDON.SALESORDERITEMMEMBERSHIPID = @ID
for xml raw('ITEM'),type,elements,root('LOADEDADDONS'),binary base64
),
@ISMIDTERMUPGRADE = case SALESORDERITEMMEMBERSHIP.TYPECODE
when 1 then 0
else 1
end,
@MIDTERMUPGRADEPRICE = SALESORDERITEM.TOTAL,
@CURRENTMEMBERSHIPEXPIRATIONDATE = MEMBERSHIP.EXPIRATIONDATE
from
dbo.SALESORDERITEMMEMBERSHIP
inner join
dbo.SALESORDERITEM on SALESORDERITEMMEMBERSHIP.ID = SALESORDERITEM.ID
inner join
dbo.SALESORDER on SALESORDERITEM.SALESORDERID = SALESORDER.ID
left outer join
dbo.CONSTITUENT on SALESORDER.CONSTITUENTID = CONSTITUENT.ID
left outer join
dbo.MEMBERSHIP on SALESORDERITEMMEMBERSHIP.MEMBERSHIPID = MEMBERSHIP.ID
where
SALESORDERITEMMEMBERSHIP.ID = @ID;
select
@INITIALMEMBERSHIPLEVELID = MEMBERSHIPLEVELID
from
dbo.MEMBERSHIP
where
ID = @MEMBERSHIPID;
if @ISMIDTERMUPGRADE = 1
begin
set @CURRENTACTIONCODE = 250;
end
else
begin
set @CURRENTACTIONCODE = dbo.UFN_MEMBERSHIPTRANSACTION_DETERMINEACTIONCODE(@MEMBERSHIPID, @MEMBERSHIPLEVELID, @TRANSACTIONDATE);
if @CURRENTACTIONCODE = 0 or @CURRENTACTIONCODE = 5
begin
set @ACTIONCODES = null;
set @EXPIRATIONDATES = null;
end
else
begin
set @ACTIONCODES = dbo.UFN_MEMBERSHIPSALESACTIONCODE_TOITEMLISTXML(@MEMBERSHIPPROGRAMID, @INITIALMEMBERSHIPLEVELID, @CURRENTMEMBERSHIPEXPIRATIONDATE, @CURRENTACTIONCODE, @TRANSACTIONDATE);
set @EXPIRATIONDATES = dbo.UFN_MEMBERSHIPSALESGETEXPIRATIONDATES_TOITEMLISTXML(@MEMBERSHIPPROGRAMID, @CURRENTMEMBERSHIPEXPIRATIONDATE);
end
end
return 0;