private void InitializeCheckedServers() { var all = _serverTreeComponent.ServerTree.RootServerGroup.GetAllServers(); foreach (var server in all) { var @checked = CheckedServers.FirstOrDefault(s => s.Name == server.Name); server.IsChecked = @checked != null; } }
public override void Save() { try { List <ServerDirectoryEntry> allEntries = null; Platform.GetService <IServerDirectory>(s => allEntries = s.GetServers(new GetServersRequest()).ServerEntries); var changedEntries = new List <ServerDirectoryEntry>(); foreach (var existingEntry in allEntries) { var isChecked = CheckedServers.Any(s => s.Name == existingEntry.Server.Name); if (existingEntry.IsPriorsServer == isChecked) { continue; } existingEntry.IsPriorsServer = isChecked; changedEntries.Add(existingEntry); } Platform.GetService(delegate(IServerDirectory service) { foreach (var changedEntry in changedEntries) { service.UpdateServer(new UpdateServerRequest { ServerEntry = changedEntry }); } }); } catch (Exception e) { ExceptionHandler.Report(e, SR.MessageFailedToSavePriorsServers, Host.DesktopWindow); } }