private static void RunWithMessages(InfoOptions opts) { var storage = new ProfileStorage(); bool needLine = false; foreach (var profile in storage.GetProfiles(opts)) { using (var client = profile.CreateClient()) { var output = new OutputTable(); output .AddColumn(profile.Name) .AddColumn("messages", "#,##0", OutputAlignment.Right) .AddColumn("unread", "#,##0", OutputAlignment.Right); var messages = 0; var unread = 0; foreach (var ns in client.PersonalNamespaces) { foreach (var folder in client.GetFolders(ns).Where(f => f.ParentFolder.ParentFolder == null)) { OutputFolder(output, folder, ref messages, ref unread); } } output.AddSeparator(); output.AddRow(profile.UserName, messages, unread); if (needLine) { Console.WriteLine(); } else { needLine = true; } output.WriteTo(Console.Out); } } }