private void RestoreFavorites(FavoritesFolder favoritesFolder, IEnumerable <Folder> folders, IEnumerable <Link> links) { foreach (var link in links) { if (link.MessageId != 0) { _favManager.AddMessageLink( link.MessageId, link.Comment, favoritesFolder); } else { _favManager.AddUrlLink( link.Url, link.Comment, favoritesFolder); } } foreach (var folder in folders) { _favManager.AddFolder(folder.Name, folder.Comment, favoritesFolder); var parentFolder = // ReSharper disable AccessToModifiedClosure favoritesFolder.SubFolders.FirstOrDefault(f => f.Name == folder.Name); // ReSharper restore AccessToModifiedClosure if (parentFolder != null) { RestoreFavorites(parentFolder, folder.Folders, folder.Links); } } }
public void ExecuteAddLink(ICommandContext context) { var favFormSvc = context.GetRequiredService <IFavoritesDummyFormService>(); using (var fi = new FavoritesLinkForm()) if (fi.ShowDialog( context .GetRequiredService <IUIShell>() .GetMainWindowParent()) == DialogResult.OK) { _favManager.AddUrlLink( fi.Url, fi.Comment, favFormSvc.SelectedEntries.Any() ? (FavoritesFolder)favFormSvc.SelectedEntries.Single() : _favManager.RootFolder); favFormSvc.Refresh(); } }