protected void AddToList(ref List <ExchangeRate> list, enCurrency sale, enCurrency buy, decimal rate)
        {
            var obj = new ExchangeRate
            {
                CurrencySale = sale,
                CurrencyBuy  = buy,
                Rate         = (double)rate
            };

            list.Add(obj);
        }
Beispiel #2
0
 /// <summary>
 /// Рекурсиынй поиск всех возможных цепочек валют для обмена
 /// </summary>
 /// <param name="variants">Варианты обмена (ref указан только для удобства чтения кода, передается всё равно ReferenseType)</param>
 /// <param name="toCurrency">Валюта покупки</param>
 /// <param name="currentSteps">Уже сделанные шаги для покупки валюты</param>
 private void FillCurrencyChain(ref List <List <enCurrency> > variants, enCurrency toCurrency, List <enCurrency> currentSteps)
 {
     foreach (var currency in Enum.GetValues(typeof(enCurrency)))
     {
         if ((enCurrency)currency == enCurrency.Unknow || currentSteps.Contains((enCurrency)currency))
         {
             continue;
         }
         else if (toCurrency == (enCurrency)currency)
         {
             var list = new List <enCurrency>(currentSteps.Count + 1);
             list.AddRange(currentSteps);
             list.Add(toCurrency);
             variants.Add(list);
         }
         else
         {
             var newSteps = new List <enCurrency>(currentSteps.Count + 1);
             newSteps.AddRange(currentSteps);
             newSteps.Add((enCurrency)currency);
             FillCurrencyChain(ref variants, toCurrency, newSteps);
         }
     }
 }
Beispiel #3
0
        public static ProfitRecording GetLatestByExchangeAndCurrnecy(enExchange exchange, enCurrency currency, string arbSymbol)
        {
            ProfitRecording obj = new ProfitRecording();
            DataSet         ds  = new DAL.ProfitRecordings().GetLatestByExchangeAndCurrnecy(exchange, currency, arbSymbol);

            if (obj.MapData(ds) == false)
            {
                obj = null;
            }

            return(obj);
        }