Esempio n. 1
0
        static SuperChatData()
        {
            var euroCurrency = ISOCurrencies.AllCurrencies.First(x => x.Symbol == new CurrencySymbol("€"));

            KNOWN_CURRENCY = euroCurrency;

            var redValuta = new Valuta(euroCurrency, 100);

            RED = new(Color.FromRgb(208, 0, 0), Color.FromRgb(230, 33, 23), Color.FromRgb(255, 255, 255), redValuta);

            var vanityValuta = new Valuta(euroCurrency, 50);

            VANITY = new(Color.FromRgb(194, 24, 91), Color.FromRgb(233, 30, 99), Color.FromRgb(255, 255, 255), vanityValuta);

            var amberValuta = new Valuta(euroCurrency, 20);

            AMBER = new(Color.FromRgb(230, 81, 0), Color.FromRgb(245, 124, 0), Color.FromRgb(255, 255, 255), amberValuta);

            var saffronValuta = new Valuta(euroCurrency, 10);

            SAFFRON = new(Color.FromRgb(255, 179, 0), Color.FromRgb(255, 202, 40), Color.FromRgb(0, 0, 0), saffronValuta);

            var carribbeanValuta = new Valuta(euroCurrency, 5);

            CARRIBEAN = new(Color.FromRgb(0, 191, 165), Color.FromRgb(29, 233, 182), Color.FromRgb(0, 0, 0), carribbeanValuta);

            var cyanValuta = new Valuta(euroCurrency, 2);

            CYAN = new(Color.FromRgb(0, 184, 212), Color.FromRgb(0, 229, 255), Color.FromRgb(0, 0, 0), cyanValuta);

            var denimValuta = new Valuta(euroCurrency, 1);

            DENIM = new(Color.FromRgb(21, 101, 192), default, Color.FromRgb(255, 255, 255), denimValuta);
Esempio n. 2
0
        public static Valuta?ConvertCurrency(ISOCurrency target, ISOCurrency currency, decimal amount)
        {
            if (target == currency)
            {
                return(new(target, amount));
            }

            var rate = ExchangeRates.ALL_RATES.FirstOrDefault(x => x.Target == currency);

            if (target == SuperChatData.KNOWN_CURRENCY)
            {
                return(rate?.ConvertBack(amount));
            }

            if (currency == SuperChatData.KNOWN_CURRENCY)
            {
                return(rate?.Convert(amount));
            }

            // NOTE; Use the KNOWN_CURRENCY as a jump rate
            var rate1 = ExchangeRates.ALL_RATES.FirstOrDefault(x => x.Target == currency);
            var rate2 = ExchangeRates.ALL_RATES.FirstOrDefault(x => x.Target == target);

            if (rate1 is not null && rate2 is not null)
            {
                return(rate2.Convert(rate1.ConvertBack(amount).Value));
            }

            return(null);
        }