static void JoinAndSend() { #region Validate Inputs if (ConfigurationManager.AppSettings["MSR.LST.ConferenceXP.PartSim.JoinAndSend.OtherCapabilityName"] == null) { Console.WriteLine(Strings.MustSpecifyAnOtherCapabilityName); Console.WriteLine(Strings.ValidOtherCapabilitySenders); foreach (string s in Conference.OtherCapabilitySenders) { Console.WriteLine(s); } return; } string otherCapabilitySenderName = ConfigurationManager.AppSettings["MSR.LST.ConferenceXP.PartSim.JoinAndSend.OtherCapabilityName"]; bool found = false; foreach (string s in Conference.OtherCapabilitySenders) { if (s == otherCapabilitySenderName) { found = true; break; } } if (found == false) { Console.WriteLine(string.Format(CultureInfo.CurrentCulture, Strings.UnableToFindOtherCapabilitySender, otherCapabilitySenderName)); Console.WriteLine(Strings.ValidOtherCapabilitySenders); foreach (string s in Conference.OtherCapabilitySenders) { Console.WriteLine(s); } return; } #endregion // Hook CapabilitySending so we can autoposition the window Conference.CapabilitySending += new CapabilitySendingEventHandler(RestoreCapabilitySavedPosition); Conference.AutoPosition = Conference.AutoPositionMode.None; Console.WriteLine(Strings.StartingJoinAndSend); JoinVenue(); Console.WriteLine(string.Format(CultureInfo.CurrentCulture, Strings.JoinedVenue0As1, Conference.ActiveVenue.Name, Conference.LocalParticipant.Name)); ICapabilitySender cs = Conference.CreateCapabilitySender(otherCapabilitySenderName); Console.WriteLine(string.Format(CultureInfo.CurrentCulture, Strings.StartedOtherCapabilitySender, otherCapabilitySenderName)); Console.WriteLine(Strings.PressEnterToSaveSendingWindowPosition); Console.ReadLine(); if (cs.IsSending) { if (cs is ICapabilityWindow) { Console.WriteLine(string.Format(CultureInfo.CurrentCulture, Strings.SavingWindowPosition, cs.Name)); SaveCapabilityPosition((ICapabilityWindow)cs); } else { Console.WriteLine(string.Format(CultureInfo.CurrentCulture, Strings.CapabilitySenderDoesNotImplementICapabilityWindow, cs.Name)); } return; } }