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()); }
private void Set(SessionID sessionID, QuickFix.Dictionary settings) { if (Has(sessionID)) { throw new ConfigError("Duplicate Session " + sessionID.ToString()); } settings.SetString(SessionSettings.BEGINSTRING, sessionID.BeginString); settings.SetString(SessionSettings.SENDERCOMPID, sessionID.SenderCompID); if (SessionID.IsSet(sessionID.SenderSubID)) { settings.SetString(SessionSettings.SENDERSUBID, sessionID.SenderSubID); } if (SessionID.IsSet(sessionID.SenderLocationID)) { settings.SetString(SessionSettings.SENDERLOCID, sessionID.SenderLocationID); } settings.SetString(SessionSettings.TARGETCOMPID, sessionID.TargetCompID); if (SessionID.IsSet(sessionID.TargetSubID)) { settings.SetString(SessionSettings.TARGETSUBID, sessionID.TargetSubID); } if (SessionID.IsSet(sessionID.TargetLocationID)) { settings.SetString(SessionSettings.TARGETLOCID, sessionID.TargetLocationID); } settings.Merge(defaults_); Validate(settings); settings_[sessionID] = settings; }