USP_DATALIST_AUCTIONITEMPURCHASE

Show the purchaser information of an item.

Parameters

Parameter Parameter Type Mode Description
@AUCTIONITEMID uniqueidentifier IN Input parameter indicating the context ID for the data list.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_AUCTIONITEMPURCHASE
                (
                    @AUCTIONITEMID uniqueidentifier
                )
                as
                    set nocount on;

                  declare @TYPECODE tinyint;
                  select @TYPECODE = TYPECODE from dbo.AUCTIONITEM where AUCTIONITEM.ID = @AUCTIONITEMID

                  --If the Auction item is not a package

                  if @TYPECODE = 0
                    select
                      @AUCTIONITEMID,
                      dbo.UFN_CONSTITUENT_BUILDNAME(REVENUE.CONSTITUENTID),
                      REVENUE.DATE,
                      GAINLOSS.REVENUESPLITAMOUNT,
                      GAINLOSS.AUCTIONITEMGAINLOSSAMOUNT,
                      REVENUEPAYMENTMETHOD.PAYMENTMETHOD,
                      REVENUE.ID,
                      REVENUE.TRANSACTIONCURRENCYID
                    from dbo.AUCTIONITEM
                      inner join AUCTIONITEMREVENUEPURCHASE on AUCTIONITEMREVENUEPURCHASE.AUCTIONITEMID = @AUCTIONITEMID
                      inner join REVENUE on REVENUE.ID = AUCTIONITEMREVENUEPURCHASE.REVENUEPURCHASEID
                      inner join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID
                      cross apply dbo.UFN_AUCTIONITEM_GETGAINLOSS(AUCTIONITEM.ID) as GAINLOSS
                    where 
                        AUCTIONITEM.ID = @AUCTIONITEMID
                        and
                        GAINLOSS.REVENUEID = REVENUE.ID


                  --If the Auction item is a package. Sum up the amount paid by each purchaser across all items in the package

                  else
                    select
                      @AUCTIONITEMID,
                      dbo.UFN_CONSTITUENT_BUILDNAME(REVENUE.CONSTITUENTID),
                      REVENUE.DATE,
                      sum(GAINLOSS.REVENUESPLITAMOUNT),
                      sum(GAINLOSS.AUCTIONITEMGAINLOSSAMOUNT),
                      REVENUEPAYMENTMETHOD.PAYMENTMETHOD,
                      REVENUE.ID,
                      REVENUE.TRANSACTIONCURRENCYID
                    from
                      dbo.AUCTIONITEM
                      inner join dbo.AUCTIONITEMPURCHASE on AUCTIONITEM.ID = AUCTIONITEMPURCHASE.AUCTIONITEMID
                      inner join dbo.REVENUESPLIT on AUCTIONITEMPURCHASE.PURCHASEID = REVENUESPLIT.ID
                      inner join dbo.REVENUE on REVENUESPLIT.REVENUEID = REVENUE.ID
                      inner join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID
                      cross apply dbo.UFN_AUCTIONITEM_GETGAINLOSS(AUCTIONITEM.ID) as GAINLOSS
                   where
                     AUCTIONITEM.PACKAGEID = @AUCTIONITEMID
                     and
                     GAINLOSS.REVENUEID = REVENUE.ID
                   group by
                     REVENUE.CONSTITUENTID,
                     REVENUE.DATE,
                     REVENUEPAYMENTMETHOD.PAYMENTMETHOD,
                     REVENUE.ID,
                     REVENUE.TRANSACTIONCURRENCYID