Example #1
0
		public void Set(StrategyInfo oldValue, StrategyInfo newValue)
		{
			if (oldValue != null)
				UnSubscribeStrategiesCollectionChanged(oldValue);

			if (newValue != null)
				SubscribeStrategiesCollectionChanged(newValue);

			StrategiesCollectionChanged();
		}
Example #2
0
		//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);
		}
Example #3
0
		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;
		}