Пример #1
0
        /// <summary>
        /// Update InsStore
        /// </summary>
        /// <param name="insStore">InsStore</param>
        public void UpdateInsStore(CommonData.InsStore insStore)
        {
            InsStore db_secStore = new InsStore()
            {
                InsStoreID = insStore.InsStoreID,
                InsID      = insStore.InsID,
                Tf         = (byte)insStore.Tf,
                IsEnable   = insStore.IsEnable
            };

            _da.DbContext.Update(db_secStore);
        }
Пример #2
0
        /// <summary>
        /// Синхронизация блока данных.
        /// Запрашивает с сервера данные и записывает их в базу.
        /// </summary>
        /// <param name="insStore">Поток данных</param>
        /// <param name="date1">Дата начала блока</param>
        /// <param name="date2">Дата окончания блока</param>
        /// <param name="isLastDirty">true - данные за последнюю дату неполные</param>
        /// <param name="cancel">Токен отмены операции</param>
        /// <returns>Задача, выдающая список баров</returns>
        private async Task <IEnumerable <Bar> > SyncDataBlock(InsStore insStore, DateTime date1, DateTime date2,
                                                              bool isLastDirty, CancellationToken cancel)
        {
            CommonData.Instrum ins = _instrumBL.GetInstrumByID(insStore.InsID);
            _logger.LogInformation("SyncDataBlock {Ticker} {date1} to {date2}", ins.Ticker, date1.ToString("yyyy-MM-dd"), date2.ToString("yyyy-MM-dd"));

            var bars = await _provider.GetDataAsync(ins.Ticker, insStore.Tf, date1, date2);

            if (bars == null)
            {
                return(null);
            }

            _insStoreBL.InsertData(insStore.InsStoreID, ins.Decimals, bars, date1, date2, isLastDirty, cancel);
            _logger.LogInformation("SyncDataBlock.InsertBars: {count}", bars.Count().ToString());

            return(bars);
        }