30 lines
1.4 KiB
Transact-SQL
30 lines
1.4 KiB
Transact-SQL
CREATE PROCEDURE [dbo].[BO_ExchangeCurrencies]
|
|
@ExchangeId int = NULL,
|
|
@AvailableKnoks BIT = null,
|
|
@ActiveKnoks BIT = null,
|
|
@EndedKnoks BIT = null,
|
|
@UserId bigint = null
|
|
AS
|
|
|
|
if @AvailableKnoks = 1
|
|
SELECT DISTINCT e.ExchangeId, e.ExchangeName, k.Currency1, k.Currency2
|
|
from [Exchanges] e
|
|
inner join [VW_PublicKnoks] k on k.ExchangeId = e.ExchangeId
|
|
where e.IsActive = 1 AND e.ExchangeId = ISNULL(@ExchangeId, e.ExchangeId)
|
|
else if @ActiveKnoks = 1
|
|
SELECT DISTINCT e.ExchangeId, e.ExchangeName, k.Currency1, k.Currency2
|
|
from [Exchanges] e
|
|
inner join [VW_ActiveKnoks] k on k.ExchangeId = e.ExchangeId
|
|
where e.IsActive = 1 AND e.ExchangeId = ISNULL(@ExchangeId, e.ExchangeId)
|
|
AND (EXISTS (SELECT 1 FROM UserKnoks uk WHERE uk.UserId = @UserId AND uk.KnokId = k.KnokId))
|
|
else if @EndedKnoks = 1
|
|
SELECT DISTINCT e.ExchangeId, e.ExchangeName, k.Currency1, k.Currency2
|
|
from [Exchanges] e
|
|
inner join [VW_EndedKnoks] k on k.ExchangeId = e.ExchangeId
|
|
where e.IsActive = 1 AND e.ExchangeId = ISNULL(@ExchangeId, e.ExchangeId)
|
|
AND (EXISTS (SELECT 1 FROM UserKnoks uk WHERE uk.UserId = @UserId AND uk.KnokId = k.KnokId))
|
|
else
|
|
SELECT DISTINCT e.ExchangeId, e.ExchangeName, t.Base as Currency1, t.NonBase as Currency2, t.Currency, t.TickerDisplayName from Tickers t
|
|
left join [Exchanges] e on t.ExchangeId = e.ExchangeId
|
|
where e.IsActive = 1 AND t.ExchangeId = ISNULL(@ExchangeId, t.ExchangeId)
|
|
RETURN 0 |