USP_DATAFORMTEMPLATE_VIEW_AUCTIONPACKAGESUMMARY

The load procedure used by the view dataform template "Auction Package Summary View"

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.
@TOTALITEMS int INOUT Total items
@TOTALVALUE money INOUT Total value
@DESCRIPTION nvarchar(255) INOUT Description
@CATEGORYNAME nvarchar(100) INOUT Category
@SUBCATEGORYNAME nvarchar(100) INOUT Subcategory
@MINIMUMBID money INOUT Minimum bid
@EXPIRATIONDATE datetime INOUT Expiration date
@AUCTIONNAME nvarchar(100) INOUT Auction
@SITES nvarchar(500) INOUT Site
@PURCHASER nvarchar(154) INOUT Purchaser
@TRANSACTIONDATE date INOUT Transaction date
@PURCHASEAMOUNT money INOUT Purchase price
@TAXAMOUNT money INOUT Receipt amount
@ISRESERVED bit INOUT ISRESERVED
@BASECURRENCYID uniqueidentifier INOUT Base currency
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency
@PURCHASETRANSACTIONCURRENCYID uniqueidentifier INOUT Purchase transaction currency

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_AUCTIONPACKAGESUMMARY
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @TOTALITEMS int = null output,
                    @TOTALVALUE money = null output,
                    @DESCRIPTION nvarchar(255) = null output,
                    @CATEGORYNAME nvarchar(100) = null output,
                    @SUBCATEGORYNAME nvarchar(100) = null output,
                    @MINIMUMBID money = null output,
                    @EXPIRATIONDATE datetime = null output,
                    @AUCTIONNAME nvarchar(100) = null output,
                    @SITES nvarchar(500) = null output,
                    @PURCHASER nvarchar(154) = null output,
                    @TRANSACTIONDATE date = null output,
                    @PURCHASEAMOUNT money = null output,
                    @TAXAMOUNT money = null output,
                    @ISRESERVED bit = null output,
                    @BASECURRENCYID uniqueidentifier = null output,
                    @TRANSACTIONCURRENCYID uniqueidentifier = null output,
                    @PURCHASETRANSACTIONCURRENCYID uniqueidentifier = null output
                )
                as
                    set nocount on;

                    -- be sure to set this, in case the select returns no rows

                    set @DATALOADED = 0;

                    select
                        @TOTALITEMS = count(AUCTIONITEM.ID),
                        @TOTALVALUE = sum(AUCTIONITEM.TRANSACTIONVALUE)
                    from dbo.AUCTIONITEM
                    where PACKAGEID = @ID

                    select 
                        @DATALOADED = 1,
                            @DESCRIPTION = AUCTIONITEM.DESCRIPTION,
                        @CATEGORYNAME = [CATEGORY].NAME,
                        @SUBCATEGORYNAME = [SUBCATEGORY].NAME,
                        @MINIMUMBID = AUCTIONITEM.TRANSACTIONMINIMUMBID,
                        @EXPIRATIONDATE = AUCTIONITEM.EXPIRATIONDATE,
                        @AUCTIONNAME = EVENT.NAME,
                        @SITES = dbo.UFN_AUCTIONPACKAGE_GETSITELIST(AUCTIONITEM.ID),
                                    @PURCHASER = case 
                             when AUCTIONITEMREVENUEPURCHASE.REVENUEPURCHASEID is not null then dbo.UFN_CONSTITUENT_BUILDNAME(REVENUE.CONSTITUENTID)
                             when AUCTIONITEMRESERVATION.PURCHASERID is not null then dbo.UFN_CONSTITUENT_BUILDNAME(AUCTIONITEMRESERVATION.PURCHASERID)
                         end,
                        @PURCHASEAMOUNT = case 
                            when AUCTIONITEMREVENUEPURCHASE.REVENUEPURCHASEID is not null then [PURCHASEPRICES].TRANSACTIONPURCHASEPRICE
                            when AUCTIONITEMRESERVATION.PURCHASERID is not null then AUCTIONITEMRESERVATION.PURCHASEAMOUNT
                         end,
                        @TRANSACTIONDATE = case 
                                                when AUCTIONITEMREVENUEPURCHASE.REVENUEPURCHASEID is not null then REVENUE.DATE
                                              end,
                        @TAXAMOUNT = case
                                              when (AUCTIONITEMREVENUEPURCHASE.REVENUEPURCHASEID is not null) and ([PURCHASEPRICES].TRANSACTIONPURCHASEPRICE - [ITEMVALUES].TRANSACTIONVALUE > 0) then [PURCHASEPRICES].TRANSACTIONPURCHASEPRICE - [ITEMVALUES].TRANSACTIONVALUE
                                              when (AUCTIONITEMRESERVATION.ID is not null) and (AUCTIONITEMRESERVATION.PURCHASEAMOUNT - [ITEMVALUES].TRANSACTIONVALUE > 0) then AUCTIONITEMRESERVATION.PURCHASEAMOUNT - [ITEMVALUES].TRANSACTIONVALUE 
                                          else 0
                                        end,
                        @ISRESERVED = case
                                        when AUCTIONITEMRESERVATION.ID is null then
                                            0
                                        else
                                            1
                                      end,
                        @BASECURRENCYID = AUCTIONITEM.BASECURRENCYID,
                        @TRANSACTIONCURRENCYID = AUCTIONITEM.TRANSACTIONCURRENCYID,
                        @PURCHASETRANSACTIONCURRENCYID = coalesce(REVENUE.TRANSACTIONCURRENCYID,AUCTIONITEM.TRANSACTIONCURRENCYID)
                    from 
                        dbo.AUCTIONITEM
                        left join dbo.AUCTIONITEMREVENUEPURCHASE on AUCTIONITEM.ID = AUCTIONITEMREVENUEPURCHASE.AUCTIONITEMID
                        left join dbo.AUCTIONITEMCATEGORY [CATEGORY] on AUCTIONITEM.AUCTIONITEMCATEGORYID = [CATEGORY].ID
                        left join dbo.AUCTIONITEMSUBCATEGORY [SUBCATEGORY] on AUCTIONITEM.AUCTIONITEMSUBCATEGORYID = [SUBCATEGORY].ID
                        left join dbo.EVENT on AUCTIONITEM.EVENTAUCTIONID = EVENT.ID
                        left join dbo.REVENUE on AUCTIONITEMREVENUEPURCHASE.REVENUEPURCHASEID = REVENUE.ID
                        left join dbo.AUCTIONITEMRESERVATION on AUCTIONITEM.ID = AUCTIONITEMRESERVATION.AUCTIONITEMID
                        outer apply dbo.UFN_AUCTIONITEM_GETVALUES_INCURRENCY(AUCTIONITEM.ID) [ITEMVALUES]
                        outer apply dbo.UFN_AUCTIONITEM_GETPURCHASEPRICES_INCURRENCY(AUCTIONITEM.ID) [PURCHASEPRICES]
                    where AUCTIONITEM.ID = @ID

                    return 0;