USP_DATALIST_GIFTINKINDDETAILANDSALES

Returns the gift-in-kind details and a list of gift-in-kind sales for a payment.

Parameters

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

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_GIFTINKINDDETAILANDSALES
                (
                    @REVENUEID uniqueidentifier
                )
                as
                    set nocount on;

                    -- Select the base gift-in-kind information

                    select
                        GIFTINKINDPAYMENTMETHODDETAIL.ID,
                        null as PARENTID,    
                        GIFTINKINDPAYMENTMETHODDETAIL.ID as DETAILID,
                        'Gift-in-kind' as TYPE,
                        REVENUE.DATE as [DATE],
                        REVENUE.TRANSACTIONAMOUNT as AMOUNT,
                        null as GAINLOSS,
                        GIFTINKINDPAYMENTMETHODDETAIL.NUMBEROFUNITS,
                        null as SALEPOSTSTATUSCODE,
                        null as GIFTINKINDPAYMENTMETHODDETAILID,
                        0 as LISTORDER,
                        REVENUE.TRANSACTIONCURRENCYID
                    from dbo.REVENUEPAYMENTMETHOD
                    inner join dbo.GIFTINKINDPAYMENTMETHODDETAIL on REVENUEPAYMENTMETHOD.ID = GIFTINKINDPAYMENTMETHODDETAIL.ID
                    inner join dbo.REVENUE on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID
                    where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID

                    union all

                    -- Select the sales made for the gift-in-kind

                    select
                        GIFTINKINDSALE.ID,
                        GIFTINKINDSALE.GIFTINKINDPAYMENTMETHODDETAILID as PARENTID,
                        GIFTINKINDSALE.GIFTINKINDPAYMENTMETHODDETAILID as DETAILID,
                        'Sold gift-in-kind' as TYPE,
                        GIFTINKINDSALE.SALEDATE as [DATE],
                        GIFTINKINDSALE.TRANSACTIONSALEAMOUNT as [AMOUNT],
                        GIFTINKINDSALE.TRANSACTIONSALEAMOUNT - (GIFTINKINDPAYMENTMETHODDETAIL.TRANSACTIONFAIRMARKETVALUE * GIFTINKINDSALE.NUMBEROFUNITS) as GAINLOSS,
                        GIFTINKINDSALE.NUMBEROFUNITS,
                        GIFTINKINDSALE.SALEPOSTSTATUSCODE,
                        GIFTINKINDSALE.GIFTINKINDPAYMENTMETHODDETAILID,
                        1 as LISTORDER,
                        GIFTINKINDSALE.TRANSACTIONCURRENCYID
                    from dbo.REVENUEPAYMENTMETHOD
                    inner join dbo.GIFTINKINDPAYMENTMETHODDETAIL on REVENUEPAYMENTMETHOD.ID = GIFTINKINDPAYMENTMETHODDETAIL.ID
                    inner join dbo.GIFTINKINDSALE on GIFTINKINDPAYMENTMETHODDETAIL.ID = GIFTINKINDSALE.GIFTINKINDPAYMENTMETHODDETAILID
                    where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID

                    order by LISTORDER, [DATE]