public override void Execute()

in FixAntenna/AdminTool/Commands/Monitoring/SessionsSnapshot.cs [31:114]


		public override void Execute()
		{
			// StatusData - STATUS,
			// ParamsData - STATUS_PARAMS,
			// StatData   - STATUS_PARAMS_STAT,
			Log.Debug("Execute SessionsSnapshot Command");
			try
			{
				var snapshot = (Fixicc.Message.SessionsSnapshot) Request;
				var snapshotData = new SessionsSnapshotData();

				if (!ValidateSessionsSnapshot(snapshot))
				{
					return;
				}

				// active sessions
				var sessions = GetFixSessions();
				foreach (var fixSession in sessions)
				{
					var session = new SessionsSnapshotDataSession();
					var id = fixSession.Parameters.SessionId;
					session.SenderCompID = id.Sender;
					session.TargetCompID = id.Target;
					session.SessionQualifier = id.Qualifier;

					SetDataForSession(snapshot.View, session, fixSession);
					// added extended parameter if need
					if (IsNeedExtendedParameters(snapshot.SessionView, id))
					{
						var views = GetExtendedParameters(snapshot.SessionView, id);
						using (var it = views.GetEnumerator())
						{
							while (it.MoveNext())
							{
								var view = it.Current;
								SetDataForSession(view, session, fixSession);
							}
						}
					}
					snapshotData.Session.Add(session);
				}
				var activeSessionIDs = GetSessionsIDs(sessions);
				// preconfigured sessions
				var preconfigSessions = GetConfiguredSessionParameters();
				foreach (var sParam in preconfigSessions)
				{
					var id = sParam.SessionId;
					if (activeSessionIDs.Contains(id))
					{
						continue;
					}
					var session = new SessionsSnapshotDataSession();
					session.SenderCompID = sParam.SenderCompId;
					session.TargetCompID = sParam.TargetCompId;
					session.SessionQualifier = sParam.SessionQualifier;

					SetDataForConfiguredSession(snapshot.View, session, sParam);
					// added extended parameter if need
					if (IsNeedExtendedParameters(snapshot.SessionView, id))
					{
						var views = GetExtendedParameters(snapshot.SessionView, id);
						using (var it = views.GetEnumerator())
						{
							while (it.MoveNext())
							{
								var view = it.Current;
								SetDataForConfiguredSession(view, session, sParam);
							}
						}
					}
					snapshotData.Session.Add(session);
				}

				var response = new Response();
				response.SessionsSnapshotData = snapshotData;
				SendResponseSuccess(response);
			}
			catch (Exception e)
			{
				Log.Error(e.Message, e);
				SendError(e.Message);
			}
		}