public void WriteToDB(string connectionStr) { var dh = new DatabaseDataProvider(); dh.GetDatabaseConnection = () => CreateConnection(connectionStr); //dh.DeleteBatch(null, "marketminuteprice", "UID", MarketDataList.Cast<object>().ToList()); //dh.InsertBatch(null, "marketminuteprice", MarketDataList.Cast<object>().ToList()); var l = MarketDataList.Cast <object>().ToList(); if (LimitBeginTime != null) { l = MarketDataList.Where(v => v.Time > LimitBeginTime).Cast <object>().ToList(); } dh.DeleteBatch(null, "Table_TradePrice", new List <string>() { "Time", "Ticker" }, l); dh.InsertBatch(null, "Table_TradePrice", l); }
public override void Refresh() { CheckRunningStatus(); CommonProc.SynchroniseList <IMarketData>(TargetProject.MarketDataList, MarketDataList); //CommonProc.SynchroniseList<IIndicatorValue>(TargetProject.IndicatorDataList, IndicatorDataList); CommonProc.SynchroniseList <IOrder>(TargetProject.OrderList, OrderList); CommonProc.SynchroniseList <TimeValueObject>(TargetProject.CurrentValueList, CurrentValueList); CommonProc.SynchroniseList <TimeValueObject>(TargetProject.StandardValueList, StandardValueList); if (CurrentInstrument == null && InstrumentList.Count > 0) { CurrentInstrument = InstrumentList.FirstOrDefault(); } if (CurrentInstrument != null) { var l = MarketDataList.Where(v => v.InstrumentTicker == CurrentInstrument.Ticker); CommonProc.SynchroniseList <IMarketData>(l, CurrentInstrumentMarketDataList); var ol = OrderList.Where(v => v.Ticker == CurrentInstrument.Ticker); CommonProc.SynchroniseList <IOrder>(ol, CurrentInstrumentOrderList); } TestCurrentTime = TargetProject.TestCurrentTime; OnPropertyChanged("CurrentValue"); OnPropertyChanged("Pnl"); OnPropertyChanged("StatusPnl"); OnPropertyChanged("Efficiency"); OnPropertyChanged("MaxLost"); refreshChartAxis(); OnPropertyChanged("CanStart"); OnPropertyChanged("CanPause"); OnPropertyChanged("CanStop"); OnPropertyChanged("FinishPercent"); if (TargetSummaryVM != null) { TargetSummaryVM.Refresh(); } OnPropertyChanged("CanStart"); OnPropertyChanged("CanPause"); OnPropertyChanged("CanStop"); OnPropertyChanged("TestCurrentTimeInfo"); base.Refresh(); }