/// <summary> /// Adds institute access server to the list /// </summary> /// <param name="srv">Server</param> public void AddInstituteAccessServer(InstituteAccessServer srv) { if (Properties.Settings.Default.InstituteAccessServers.Contains(srv.Base)) { return; } Properties.Settings.Default.InstituteAccessServers.Add(srv.Base); srv = Wizard.GetDiscoveredServer <InstituteAccessServer>(srv.Base); if (srv != null) { InstituteAccessServers.Add(srv); } }
/// <summary> /// Populates the server list /// </summary> /// <param name="sender">The source of the event</param> /// <param name="e">An object that contains no event data</param> private void RebuildInstituteAccessServers(object sender, EventArgs e) { var selected = SelectedInstituteAccessServer?.Base; var list = InstituteAccessServers.BeginUpdate(); try { list.Clear(); foreach (var baseUri in Properties.Settings.Default.InstituteAccessServers) { Window.Abort.Token.ThrowIfCancellationRequested(); var srv = Wizard.GetDiscoveredServer <InstituteAccessServer>(baseUri); if (srv != null) { list.Add(srv); } } } finally { InstituteAccessServers.EndUpdate(); } SelectedInstituteAccessServer = Wizard.GetDiscoveredServer <InstituteAccessServer>(selected); }