USP_DATAFORMTEMPLATE_VIEW_PAYMENTAUCTIONPURCHASE
The load procedure used by the view dataform template "Payment: Auction Purchase View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@ITEMNAME | nvarchar(100) | INOUT | Item |
@AUCTIONNAME | nvarchar(100) | INOUT | Auction |
@PURCHASEAMOUNT | money | INOUT | Amount due |
@PURCHASEDATE | date | INOUT | Purchase date |
@DESIGNATION | nvarchar(3000) | INOUT | Designation |
@DESCRIPTION | nvarchar(100) | INOUT | Description |
@RECEIPTAMOUNT | money | INOUT | Receipt amount |
@ITEMVALUE | money | INOUT | Item value |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency ID |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PAYMENTAUCTIONPURCHASE
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@ITEMNAME nvarchar(100) = null output,
@AUCTIONNAME nvarchar(100) = null output,
@PURCHASEAMOUNT money = null output,
@PURCHASEDATE date = null output,
@DESIGNATION nvarchar(3000) = null output,
@DESCRIPTION nvarchar(100) = null output,
@RECEIPTAMOUNT money = null output,
@ITEMVALUE money = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output
)
as
set nocount on;
-- be sure to set this, in case the select returns no rows
set @DATALOADED = 0;
declare @PACKAGEPURCHASEPRICE money;
select
@PACKAGEPURCHASEPRICE = TRANSACTIONPURCHASEPRICE from dbo.UFN_AUCTIONITEM_GETPURCHASEPRICES_INCURRENCY(@ID);
select
@DATALOADED = 1,
@ITEMNAME = AUCTIONITEM.NAME,
@AUCTIONNAME = EVENT.NAME,
@PURCHASEAMOUNT = case
when AUCTIONITEM.TYPECODE = 0 and AUCTIONITEMRESERVATION.ID is not null then --Reserved item
AUCTIONITEMRESERVATION.PURCHASEAMOUNT
when AUCTIONITEM.TYPECODE = 1 and AUCTIONITEMRESERVATION.ID is not null then --Reserved package
AUCTIONITEMRESERVATION.PURCHASEAMOUNT
when AUCTIONITEM.TYPECODE = 0 and AUCTIONITEMRESERVATION.ID is null then --Purchased item
[PURCHASESPLIT].TRANSACTIONAMOUNT
when AUCTIONITEM.TYPECODE = 1 and AUCTIONITEMRESERVATION.ID is null then --Purchased package
@PACKAGEPURCHASEPRICE
else
0
end,
@PURCHASEDATE = case
when AUCTIONITEM.TYPECODE = 0 and AUCTIONITEMRESERVATION.ID is not null then --Reserved item
AUCTIONITEMRESERVATION.PURCHASEDATE
when AUCTIONITEM.TYPECODE = 1 and AUCTIONITEMRESERVATION.ID is not null then --Reserved package
AUCTIONITEMRESERVATION.PURCHASEDATE
when AUCTIONITEM.TYPECODE = 0 and AUCTIONITEMRESERVATION.ID is null then --Purchased item
REVENUE.DATE
when AUCTIONITEM.TYPECODE = 1 and AUCTIONITEMRESERVATION.ID is null then --Purchased package
REVENUE.DATE
else
0
end,
@DESIGNATION = case
when AUCTIONITEM.TYPECODE = 0 then
dbo.UFN_DESIGNATION_GETNAME([DONATIONSPLIT].DESIGNATIONID)
else
dbo.UFN_AUCTIONPACKAGE_GETDESIGNATIONLIST(AUCTIONITEM.ID)
end,
@DESCRIPTION = AUCTIONITEM.NAME,
@RECEIPTAMOUNT = case
when AUCTIONITEM.TYPECODE = 0 and AUCTIONITEMRESERVATION.ID is not null and (AUCTIONITEMRESERVATION.PURCHASEAMOUNT - AUCTIONITEM.TRANSACTIONVALUE > 0) then
AUCTIONITEMRESERVATION.PURCHASEAMOUNT - AUCTIONITEM.TRANSACTIONVALUE
when AUCTIONITEM.TYPECODE = 1 and AUCTIONITEMRESERVATION.ID is not null and (AUCTIONITEMRESERVATION.PURCHASEAMOUNT - [AUCTIONITEMVALUES].TRANSACTIONVALUE > 0) then
AUCTIONITEMRESERVATION.PURCHASEAMOUNT - [AUCTIONITEMVALUES].TRANSACTIONVALUE
when AUCTIONITEM.TYPECODE = 0 and AUCTIONITEMRESERVATION.ID is null and ([PURCHASESPLIT].TRANSACTIONAMOUNT - AUCTIONITEM.TRANSACTIONVALUE > 0) then
[PURCHASESPLIT].TRANSACTIONAMOUNT - AUCTIONITEM.TRANSACTIONVALUE
when AUCTIONITEM.TYPECODE = 1 and AUCTIONITEMRESERVATION.ID is null and (@PACKAGEPURCHASEPRICE - [AUCTIONITEMVALUES].TRANSACTIONVALUE > 0) then
@PACKAGEPURCHASEPRICE - [AUCTIONITEMVALUES].TRANSACTIONVALUE
else 0
end,
@ITEMVALUE = AUCTIONITEM.TRANSACTIONVALUE,
@TRANSACTIONCURRENCYID = coalesce(PURCHASESPLIT.TRANSACTIONCURRENCYID,AUCTIONITEM.TRANSACTIONCURRENCYID)
from
dbo.AUCTIONITEM
left join dbo.AUCTIONITEMPURCHASE on AUCTIONITEM.ID = AUCTIONITEMPURCHASE.AUCTIONITEMID
left join dbo.AUCTIONITEMRESERVATION on AUCTIONITEM.ID = AUCTIONITEMRESERVATION.AUCTIONITEMID
left join dbo.EVENT on AUCTIONITEM.EVENTAUCTIONID = EVENT.ID
left join dbo.REVENUESPLIT [DONATIONSPLIT] on AUCTIONITEM.REVENUEAUCTIONDONATIONID = [DONATIONSPLIT].REVENUEID
left join dbo.REVENUESPLIT [PURCHASESPLIT] on AUCTIONITEMPURCHASE.PURCHASEID = [PURCHASESPLIT].ID
left join dbo.AUCTIONITEMREVENUEPURCHASE on AUCTIONITEM.ID = AUCTIONITEMREVENUEPURCHASE.AUCTIONITEMID
left join dbo.REVENUE on REVENUE.ID = AUCTIONITEMREVENUEPURCHASE.REVENUEPURCHASEID
outer apply dbo.UFN_AUCTIONITEM_GETVALUES_INCURRENCY(AUCTIONITEM.ID) [AUCTIONITEMVALUES]
where AUCTIONITEM.ID = @ID
return 0;