/*
Awaryjen uzupełnienie kursów walut
*/


DECLARE @xml XML
SET @xml = '
<tabela_kursow typ="A" uid="24a044">
   <numer_tabeli>044/A/NBP/2024</numer_tabeli>
   <data_publikacji>2024-03-01</data_publikacji>
   <pozycja>
      <nazwa_waluty>bat (Tajlandia)</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>THB</kod_waluty>
      <kurs_sredni>0,1110</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>dolar amerykański</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>USD</kod_waluty>
      <kurs_sredni>3,9922</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>dolar australijski</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>AUD</kod_waluty>
      <kurs_sredni>2,5953</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>dolar Hongkongu</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>HKD</kod_waluty>
      <kurs_sredni>0,5100</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>dolar kanadyjski</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>CAD</kod_waluty>
      <kurs_sredni>2,9398</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>dolar nowozelandzki</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>NZD</kod_waluty>
      <kurs_sredni>2,4318</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>dolar singapurski</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>SGD</kod_waluty>
      <kurs_sredni>2,9646</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>euro</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>EUR</kod_waluty>
      <kurs_sredni>4,3176</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>forint (Węgry)</nazwa_waluty>
      <przelicznik>100</przelicznik>
      <kod_waluty>HUF</kod_waluty>
      <kurs_sredni>1,0966</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>frank szwajcarski</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>CHF</kod_waluty>
      <kurs_sredni>4,5099</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>funt szterling</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>GBP</kod_waluty>
      <kurs_sredni>5,0413</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>hrywna (Ukraina)</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>UAH</kod_waluty>
      <kurs_sredni>0,1046</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>jen (Japonia)</nazwa_waluty>
      <przelicznik>100</przelicznik>
      <kod_waluty>JPY</kod_waluty>
      <kurs_sredni>2,6502</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>korona czeska</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>CZK</kod_waluty>
      <kurs_sredni>0,1704</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>korona duńska</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>DKK</kod_waluty>
      <kurs_sredni>0,5792</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>korona islandzka</nazwa_waluty>
      <przelicznik>100</przelicznik>
      <kod_waluty>ISK</kod_waluty>
      <kurs_sredni>2,8880</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>korona norweska</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>NOK</kod_waluty>
      <kurs_sredni>0,3771</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>korona szwedzka</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>SEK</kod_waluty>
      <kurs_sredni>0,3860</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>lej rumuński</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>RON</kod_waluty>
      <kurs_sredni>0,8686</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>lew (Bułgaria)</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>BGN</kod_waluty>
      <kurs_sredni>2,2075</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>lira turecka</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>TRY</kod_waluty>
      <kurs_sredni>0,1276</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>nowy izraelski szekel</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>ILS</kod_waluty>
      <kurs_sredni>1,1180</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>peso chilijskie</nazwa_waluty>
      <przelicznik>100</przelicznik>
      <kod_waluty>CLP</kod_waluty>
      <kurs_sredni>0,4132</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>peso filipińskie</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>PHP</kod_waluty>
      <kurs_sredni>0,0712</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>peso meksykańskie</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>MXN</kod_waluty>
      <kurs_sredni>0,2342</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>rand (Republika Południowej Afryki)</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>ZAR</kod_waluty>
      <kurs_sredni>0,2077</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>real (Brazylia)</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>BRL</kod_waluty>
      <kurs_sredni>0,8031</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>ringgit (Malezja)</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>MYR</kod_waluty>
      <kurs_sredni>0,8413</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>rupia indonezyjska</nazwa_waluty>
      <przelicznik>10000</przelicznik>
      <kod_waluty>IDR</kod_waluty>
      <kurs_sredni>2,5428</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>rupia indyjska</nazwa_waluty>
      <przelicznik>100</przelicznik>
      <kod_waluty>INR</kod_waluty>
      <kurs_sredni>4,8148</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>won południowokoreański</nazwa_waluty>
      <przelicznik>100</przelicznik>
      <kod_waluty>KRW</kod_waluty>
      <kurs_sredni>0,2991</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>yuan renminbi (Chiny)</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>CNY</kod_waluty>
      <kurs_sredni>0,5545</kurs_sredni>
   </pozycja>
   <pozycja>
      <nazwa_waluty>SDR (MFW)</nazwa_waluty>
      <przelicznik>1</przelicznik>
      <kod_waluty>XDR</kod_waluty>
      <kurs_sredni>5,2946</kurs_sredni>
   </pozycja>
</tabela_kursow>
'

if not exists (select * from [common].[currencyExchange] where [publicationDate] = @xml.value('(/tabela_kursow/data_publikacji)[1]', 'date'))  
Begin

declare @data_publikacji date = @xml.value('(/tabela_kursow/data_publikacji)[1]', 'date')
declare @numer_tabeli varchar(50) = @xml.value('(/tabela_kursow/numer_tabeli)[1]', 'varchar(50)')



    INSERT INTO [common].[currencyExchange]
    (
        [currencyCode],
        [fromCurrencyCode],
        [currencyName],
        [converter],
        [avargeRate],
        [publicationDate],
        [tableNumber]
    )
    SELECT
        x.value('(kod_waluty)[1]', 'varchar(5)'),
        'PLN',
        x.value('(nazwa_waluty)[1]', 'varchar(50)'),
        replace(x.value('(przelicznik)[1]', 'varchar(50)'),',','.'),
        replace(x.value('(kurs_sredni)[1]', 'varchar(50)'),',','.'),
        @data_publikacji, 
       @numer_tabeli
    FROM @xml.nodes('/tabela_kursow/pozycja') AS tbl(x)


    Print 'Dodano kursy walut z dnia: ' + @numer_tabeli
	select * from [common].[currencyExchange] where [publicationDate] = @xml.value('(/tabela_kursow/data_publikacji)[1]', 'date')
	
	select top 10  publicationdate from [common].[currencyExchange] 
	group by publicationdate
	order by 1 desc

	-- Uwaga trzeba w systemie zrobic reset cache
End

