Esempio n. 1
0
        /// <summary>
        /// Чтение из файла БД данных о цене в заданный промежуток времени
        /// </summary>
        /// <param name="begin">врямя начала чтения</param>
        /// <param name="end">время окончания чтения</param>
        /// <param name="pair">пара валют, напр. BTC_USD </param>
        /// <returns></returns>
        public static TimeCurrencyPair[] ReadHistory(DateTime begin, DateTime end, MoneyPair pair)
        {
            Time teaTimeBegin = begin;
            Time teaTimeEnd   = end;
            IEnumerable <TimeCurrencyPair> teaCurrencyPairs = new List <TimeCurrencyPair>();
            var fileName = DecimalTradeDBhelper.CreateFileName(pair);

            try
            {
                if (!File.Exists(fileName))
                {
                    DecimalTradeDBhelper.InitDb(fileName);
                }
                using (var tf = TeaFile <TimeCurrencyPair> .OpenRead(fileName))
                {
                    teaCurrencyPairs = tf.Items.Where(p => (p.currentTime > teaTimeBegin) && (p.currentTime < teaTimeEnd)).ToArray();
                    Console.WriteLine(teaCurrencyPairs);
                }
            }
            catch (Exception ex)
            {
                //Logger.Log.Error("Произошла ошибка! Не удалось прочитать истрические данные");
                Console.Write(ex.Message);
            }

            return(teaCurrencyPairs.ToArray());
        }
Esempio n. 2
0
        /// <summary>
        /// Сохраняем в хранилище полученные пару валют за текущее время
        /// </summary>
        /// <param name="currentPair">Пара валют</param>
        /// <param name="fileName">Названии файла</param>
        public static void WriteTick(TimeCurrencyPair currentPair, MoneyPair pair)
        {
            var fileName = CreateFileName(pair);

            if (!File.Exists(fileName))
            {
                InitDb(fileName);
            }
            try
            {
                using (var tf = TeaFile <TimeCurrencyPair> .Append(fileName))
                {
                    tf.Write(currentPair);
                }
            }
            catch (Exception ex)
            {
                //Logger.Log.Error("Произошла ошибка! База недоступна. Информация не записана");
            }
        }
Esempio n. 3
0
 internal static string CreateFileName(MoneyPair pair)
 {
     return(baseFileName.Insert(14, pair.ToString()));
 }