USP_DATALIST_EVENTPROFILEREPORT_PRICE

Returns price information for an event.

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN Event ID
@CURRENCYCODE tinyint IN Currency Code
@ISVISIBLE bit IN Visible

Definition

Copy


CREATE procedure dbo.USP_DATALIST_EVENTPROFILEREPORT_PRICE
(
  @EVENTID uniqueidentifier,
  @CURRENCYCODE tinyint = null,
  @ISVISIBLE bit = 1
)
as
  set nocount on;

  declare @SELECTEDCURRENCYID uniqueidentifier;

  if @CURRENCYCODE = 0
    select @SELECTEDCURRENCYID = EVENT.BASECURRENCYID
    from dbo.EVENT
    where EVENT.ID = @EVENTID
  else
    set @SELECTEDCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();

  if @ISVISIBLE = 1
    select
      EVENTREGISTRATIONTYPE.DESCRIPTION as TYPE,
      case
      when @CURRENCYCODE = 0 then 
        EVENTPRICE.AMOUNT
      when @CURRENCYCODE = 1 then
        EVENTPRICE.ORGANIZATIONAMOUNT
      else 0
      end as AMOUNT,
      case
      when @SELECTEDCURRENCYID <> dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY() OR EVENTPRICE.ORGANIZATIONEXCHANGERATEID IS NULL  
      then EVENTPRICE.RECEIPTAMOUNT
      else dbo.UFN_CURRENCY_CONVERT(EVENTPRICE.RECEIPTAMOUNT, EVENTPRICE.ORGANIZATIONEXCHANGERATEID)
      end as RECEIPTAMOUNT,
      EVENTPRICE.NAME,
      EVENTPRICE.REGISTRATIONCOUNT,
      CURRENCYPROPERTIES.ISO4217 [ISOCURRENCYCODE],
      CURRENCYPROPERTIES.CURRENCYSYMBOL,
      CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE [CURRENCYSYMBOLDISPLAYSETTINGCODE],
      CURRENCYPROPERTIES.DECIMALDIGITS
    from 
      dbo.EVENTPRICE
    inner join
      dbo.EVENTREGISTRATIONTYPE on EVENTPRICE.EVENTREGISTRATIONTYPEID = EVENTREGISTRATIONTYPE.ID
    outer apply
      dbo.UFN_CURRENCY_GETPROPERTIES(@SELECTEDCURRENCYID) CURRENCYPROPERTIES
    where
      EVENTPRICE.EVENTID = @EVENTID
    order by
      EVENTREGISTRATIONTYPE.DESCRIPTION;