public void Set(StrategyInfo oldValue, StrategyInfo newValue) { if (oldValue != null) UnSubscribeStrategiesCollectionChanged(oldValue); if (newValue != null) SubscribeStrategiesCollectionChanged(newValue); StrategiesCollectionChanged(); }
//private void ResetStatistics() //{ // MarketTime = DateTime.MinValue; // ErrorCount = 0; // Duration = TimeSpan.Zero; // Remaining = TimeSpan.Zero; // //EmulationSettings.MessagesLeft = 0; // _prevSystemTime = DateTime.MinValue; // _prevEmulTime = DateTime.MinValue; //} private void CreateEmulationSession() { EmulationConnector.AddInfoLog(LocalizedStrings.Str3594); var registry = ConfigManager.GetService<IStudioEntityRegistry>(); _emulationSession = new Session { StartTime = DateTime.Now, Type = SessionType.Emulation }; _emulationSession.Settings.SetValue("EmulationSettings", EmulationSettings); registry.Sessions.Add(_emulationSession); registry.Sessions.DelayAction.WaitFlush(); EmulationConnector.AddInfoLog(LocalizedStrings.Str3595); var strategyInfoList = registry.GetStrategyInfoList(_emulationSession); _infoClone = Strategy.StrategyInfo.Clone(); _infoClone.Id = 0; strategyInfoList.Add(_infoClone); }
private void UnSubscribeStrategiesCollectionChanged(StrategyInfo info) { info.Strategies.Added -= StrategyAdded; info.Strategies.Removed -= StrategyRemoved; info.Strategies.Cleared -= StrategiesCollectionChanged; }
private IStudioControl OpenControl(StrategyInfo info) { IStudioControl ctrl = null; switch (StrategyInfo.Type) { case StrategyInfoTypes.SourceCode: case StrategyInfoTypes.Analytics: ctrl = OpenControl(info.Id.To<string>(), typeof(StrategyInfoCodeContent), info, () => { var c = new StrategyInfoCodeContent { StrategyInfo = info }; ConfigManager .GetService<IStudioCommandService>() .Bind(info.GetKey(), c); return c; }); break; case StrategyInfoTypes.Diagram: ctrl = OpenControl(info.Id.To<string>(), typeof(DiagramPanel), info, () => { var c = new DiagramPanel { StrategyInfo = info }; ConfigManager .GetService<IStudioCommandService>() .Bind(info.GetKey(), c); return c; }); break; case StrategyInfoTypes.Assembly: case StrategyInfoTypes.Terminal: break; default: throw new ArgumentOutOfRangeException(); } return ctrl; }