public static string Prefix(SessionID sessionID) { System.Text.StringBuilder prefix = new System.Text.StringBuilder(sessionID.BeginString) .Append('-').Append(sessionID.SenderCompID); if (SessionID.IsSet(sessionID.SenderSubID)) { prefix.Append('_').Append(sessionID.SenderSubID); } if (SessionID.IsSet(sessionID.SenderLocationID)) { prefix.Append('_').Append(sessionID.SenderLocationID); } prefix.Append('-').Append(sessionID.TargetCompID); if (SessionID.IsSet(sessionID.TargetSubID)) { prefix.Append('_').Append(sessionID.TargetSubID); } if (SessionID.IsSet(sessionID.TargetLocationID)) { prefix.Append('_').Append(sessionID.TargetLocationID); } if (sessionID.SessionQualifier.Length != 0) { prefix.Append('-').Append(sessionID.SessionQualifier); } return(prefix.ToString()); }
/// <summary> /// Add new session config /// </summary> /// <param name="sessionID">ID of session for which to add config</param> /// <param name="settings">session config</param> public void Set(SessionID sessionID, QuickFix.Dictionary settings) { if (Has(sessionID)) { throw new ConfigError("Duplicate Session " + sessionID.ToString()); } settings.SetString(BEGINSTRING, sessionID.BeginString); settings.SetString(SENDERCOMPID, sessionID.SenderCompID); if (SessionID.IsSet(sessionID.SenderSubID)) { settings.SetString(SENDERSUBID, sessionID.SenderSubID); } if (SessionID.IsSet(sessionID.SenderLocationID)) { settings.SetString(SENDERLOCID, sessionID.SenderLocationID); } settings.SetString(TARGETCOMPID, sessionID.TargetCompID); if (SessionID.IsSet(sessionID.TargetSubID)) { settings.SetString(TARGETSUBID, sessionID.TargetSubID); } if (SessionID.IsSet(sessionID.TargetLocationID)) { settings.SetString(TARGETLOCID, sessionID.TargetLocationID); } settings.Merge(defaults_); Validate(settings); settings_[sessionID] = settings; }
/// <summary> /// FIXME less operator new /// </summary> /// <param name="sessionID"></param> public void SetSessionID(SessionID sessionID) { this.Header.SetField(new BeginString(sessionID.BeginString)); this.Header.SetField(new SenderCompID(sessionID.SenderCompID)); if (SessionID.IsSet(sessionID.SenderSubID)) { this.Header.SetField(new SenderSubID(sessionID.SenderSubID)); } if (SessionID.IsSet(sessionID.SenderLocationID)) { this.Header.SetField(new SenderLocationID(sessionID.SenderLocationID)); } this.Header.SetField(new TargetCompID(sessionID.TargetCompID)); if (SessionID.IsSet(sessionID.TargetSubID)) { this.Header.SetField(new TargetSubID(sessionID.TargetSubID)); } if (SessionID.IsSet(sessionID.TargetLocationID)) { this.Header.SetField(new TargetLocationID(sessionID.TargetLocationID)); } }