USP_DATAFORMTEMPLATE_VIEW_AUCTIONITEMSDETAIL_2

The load procedure used by the view dataform template "Auction Items Detail View Form 2"

Parameters

Parameter Parameter Type Mode Description
@ID nvarchar(38) 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.
@DESCRIPTION nvarchar(255) INOUT Description
@CATEGORY nvarchar(100) INOUT Category
@SUBCATEGORY nvarchar(100) INOUT Subcategory
@VALUE money INOUT Value
@AUCTION nvarchar(100) INOUT Auction
@DONOR nvarchar(154) INOUT Donor
@DONATIONDATE datetime INOUT Donation date
@EXPIRATIONDATE datetime INOUT Expiration date
@MINIMUMBID money INOUT Minimum bid
@DESIGNATION nvarchar(512) INOUT Designation
@PURCHASER nvarchar(154) INOUT Purchaser
@TRANSACTIONDATE date INOUT Transaction date
@PURCHASEAMOUNT money INOUT Purchase price
@TAXAMOUNT money INOUT Receipt amount
@TYPECODE tinyint INOUT Auction item type
@TOTALITEMS int INOUT Total items
@ISRESERVED bit INOUT ISRESERVED
@VALUECURRENCYID uniqueidentifier INOUT Value currency
@MINIMUMBIDCURRENCYID uniqueidentifier INOUT Minimum bid currency
@PURCHASECURRENCYID uniqueidentifier INOUT Purchase transaction currency

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_AUCTIONITEMSDETAIL_2
                (
                    @ID nvarchar(38),
                    @DATALOADED bit = 0 output,
                    @DESCRIPTION nvarchar(255) = null output,
                    @CATEGORY nvarchar(100) = null output,
                    @SUBCATEGORY nvarchar(100) = null output,
                    @VALUE money = null output,
                    @AUCTION nvarchar(100) = null output,
                    @DONOR nvarchar(154) = null output,
                    @DONATIONDATE datetime = null output,
                    @EXPIRATIONDATE datetime = null output,
                    @MINIMUMBID money = null output,
                    @DESIGNATION nvarchar(512) = null output,
                    @PURCHASER nvarchar(154) = null output,
                    @TRANSACTIONDATE date = null output,
                    @PURCHASEAMOUNT money = null output,
                    @TAXAMOUNT money = null output,
                    @TYPECODE tinyint = null output,
                    @TOTALITEMS int = null output,
                    @ISRESERVED bit = null output,
                    @VALUECURRENCYID uniqueidentifier = null output,
                    @MINIMUMBIDCURRENCYID uniqueidentifier = null output,
                    @PURCHASECURRENCYID uniqueidentifier = null output
                )
                as
                    set nocount on;

                    set @DATALOADED = 0;

                    declare @AUCTIONITEMID uniqueidentifier = cast(right(@ID, 36) as uniqueidentifier);
                    declare @DISPLAYCURRENCYTYPECODE tinyint = cast(left(@ID, 1) as tinyint);

                    select 
                        @DATALOADED = 1,
                        @DESCRIPTION = AUCTIONITEM.DESCRIPTION,
                        @CATEGORY = [CATEGORY].NAME,
                        @SUBCATEGORY = [SUBCATEGORY].NAME,
                        @VALUE = case
                                    when AUCTIONITEM.TYPECODE = 0 then 
                                        case when @DISPLAYCURRENCYTYPECODE = 0 then AUCTIONITEM.TRANSACTIONVALUE
                                             when @DISPLAYCURRENCYTYPECODE = 2 then AUCTIONITEM.ORGANIZATIONVALUE
                                             else AUCTIONITEM.VALUE
                                        end
                                    else 
                                        coalesce((
                                            select 
                                                case when @DISPLAYCURRENCYTYPECODE = 0 then sum([ITEM].TRANSACTIONVALUE)
                                                     when @DISPLAYCURRENCYTYPECODE = 2 then sum([ITEM].ORGANIZATIONVALUE)
                                                     else sum([ITEM].VALUE)
                                                end
                                            from dbo.AUCTIONITEM [ITEM]
                                            where [ITEM].PACKAGEID = AUCTIONITEM.ID
                                        ), 0)
                                    end,
                        @AUCTION = EVENT.NAME,
                        @DONOR = dbo.UFN_CONSTITUENT_BUILDNAME([DONATION].CONSTITUENTID),
                        @DONATIONDATE = [DONATION].DATE,
                        @EXPIRATIONDATE = AUCTIONITEM.EXPIRATIONDATE,
                        @MINIMUMBID = case when @DISPLAYCURRENCYTYPECODE = 0 then AUCTIONITEM.TRANSACTIONMINIMUMBID
                                           when @DISPLAYCURRENCYTYPECODE = 2 then AUCTIONITEM.ORGANIZATIONMINIMUMBID
                                           else AUCTIONITEM.MINIMUMBID
                                      end,
                        @DESIGNATION = DESIGNATION.NAME,
                        @PURCHASER = case 
                                         when AUCTIONITEMRESERVATION.PURCHASERID is not null then dbo.UFN_CONSTITUENT_BUILDNAME(AUCTIONITEMRESERVATION.PURCHASERID)
                                         when [RESERVEDPACKAGEITEM].PURCHASERID is not null then dbo.UFN_CONSTITUENT_BUILDNAME([RESERVEDPACKAGEITEM].PURCHASERID)
                                     end,
                        @PURCHASEAMOUNT = case 
                                               when AUCTIONITEMRESERVATION.PURCHASERID is not null then AUCTIONITEMRESERVATION.PURCHASEAMOUNT
                                               else null
                                        end, --TODO

                        @TAXAMOUNT = 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 - [ITEMVALUES].TRANSACTIONVALUE > 0) then AUCTIONITEMRESERVATION.PURCHASEAMOUNT - [ITEMVALUES].TRANSACTIONVALUE 
                              else 0
                            end, --TODO

                        @TYPECODE = AUCTIONITEM.TYPECODE,
                        @TOTALITEMS = case
                                        when AUCTIONITEM.TYPECODE = 0 then
                                            0
                                        else
                                            coalesce((select count(ID) from dbo.AUCTIONITEM [ITEM] where [ITEM].PACKAGEID = AUCTIONITEM.ID),0)
                                        end,
                        @ISRESERVED = case
                                        when AUCTIONITEM.TYPECODE = 0 and AUCTIONITEM.PACKAGEID is null and AUCTIONITEMRESERVATION.ID is null then 0
                                        when AUCTIONITEM.TYPECODE = 0 and AUCTIONITEM.PACKAGEID is not null and [RESERVEDPACKAGEITEM].ID is null then 0
                                        when AUCTIONITEM.TYPECODE = 1 and AUCTIONITEMRESERVATION.ID is null then 0
                                        else 1
                                      end,
                        @VALUECURRENCYID = 
                            case
                                when AUCTIONITEM.TYPECODE = 0 then 
                                    case when @DISPLAYCURRENCYTYPECODE = 0 then AUCTIONITEM.TRANSACTIONCURRENCYID
                                         when @DISPLAYCURRENCYTYPECODE = 2 then dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
                                         else AUCTIONITEM.BASECURRENCYID
                                    end
                                else
                                    coalesce((
                                        select top 1 
                                            case when @DISPLAYCURRENCYTYPECODE = 0 then [ITEM].TRANSACTIONCURRENCYID
                                                when @DISPLAYCURRENCYTYPECODE = 2 then dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
                                                else [ITEM].BASECURRENCYID
                                            end
                                        from dbo.AUCTIONITEM [ITEM]
                                        where [ITEM].PACKAGEID = AUCTIONITEM.ID
                                    ), case when @DISPLAYCURRENCYTYPECODE = 2 then dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY() else EVENT.BASECURRENCYID end)
                            end,
                        @MINIMUMBIDCURRENCYID = 
                            case
                                when AUCTIONITEM.TYPECODE = 0 then 
                                    case when @DISPLAYCURRENCYTYPECODE = 0 then AUCTIONITEM.TRANSACTIONCURRENCYID
                                         when @DISPLAYCURRENCYTYPECODE = 2 then dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
                                         else AUCTIONITEM.BASECURRENCYID
                                    end
                                else
                                    coalesce((
                                        select top 1 
                                            case when @DISPLAYCURRENCYTYPECODE = 0 then [ITEM].TRANSACTIONCURRENCYID
                                                 when @DISPLAYCURRENCYTYPECODE = 2 then dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
                                                 else [ITEM].BASECURRENCYID
                                            end
                                        from dbo.AUCTIONITEM [ITEM]
                                        where [ITEM].PACKAGEID = AUCTIONITEM.ID
                                    ), case when @DISPLAYCURRENCYTYPECODE = 2 then dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY() else EVENT.BASECURRENCYID end)

                            end,
                        @PURCHASECURRENCYID = 
                            case
                                when @DISPLAYCURRENCYTYPECODE = 0 then AUCTIONITEM.TRANSACTIONCURRENCYID
                                when @DISPLAYCURRENCYTYPECODE = 2 then dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
                                else AUCTIONITEM.BASECURRENCYID
                            end
                    from 
                        dbo.AUCTIONITEM
                        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 [DONATION] on AUCTIONITEM.REVENUEAUCTIONDONATIONID = [DONATION].ID
                        left join dbo.REVENUESPLIT [DONATIONSPLIT] on AUCTIONITEM.REVENUEAUCTIONDONATIONID = DONATIONSPLIT.REVENUEID
                        left join dbo.DESIGNATION on DONATIONSPLIT.DESIGNATIONID = DESIGNATION.ID
                        left join dbo.AUCTIONITEMRESERVATION on AUCTIONITEMRESERVATION.AUCTIONITEMID = AUCTIONITEM.ID
                        left join dbo.AUCTIONITEMRESERVATION [RESERVEDPACKAGEITEM] on [RESERVEDPACKAGEITEM].AUCTIONITEMID = AUCTIONITEM.PACKAGEID
                        outer apply dbo.UFN_AUCTIONITEM_GETVALUES_INCURRENCY(AUCTIONITEM.ID) [ITEMVALUES]
                    where
                        AUCTIONITEM.ID = @AUCTIONITEMID;

                    return 0;