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; }
public void Merge() { QuickFix.Dictionary first = new QuickFix.Dictionary(); first.SetString("FIRSTKEY", "FIRSTVALUE"); first.SetString("THIRDKEY", "FIRST"); QuickFix.Dictionary second = new QuickFix.Dictionary(); second.SetString("SECONDKEY", "SECONDVALUE"); second.SetString("THIRDKEY", "SECOND"); first.Merge(second); Assert.That(first.GetString("FIRSTKEY"), Is.EqualTo("FIRSTVALUE")); Assert.That(first.GetString("SECONDKEY"), Is.EqualTo("SECONDVALUE")); Assert.That(first.GetString("THIRDKEY"), Is.EqualTo("FIRST")); }