Example #1
0
 private static int RunWith(InfoOptions opts)
 {
     if (opts.Messages)
     {
         RunWithMessages(opts);
     }
     else
     {
         RunWithNotAll(opts);
     }
     return(0);
 }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        private static void RunWithNotAll(InfoOptions opts)
        {
            var storage = new ProfileStorage();

            var output = new OutputTable();

            output
            .AddColumns("name", "username")
            .AddColumn("messages", "#,##0", OutputAlignment.Right)
            .AddColumn("limit", "#,##0", OutputAlignment.Right)
            .AddColumn("storage", "#,##0", OutputAlignment.Right)
            .AddColumn("limit", "#,##0", OutputAlignment.Right);

            foreach (var profile in storage.GetProfiles(opts))
            {
                using (var client = profile.CreateClient())
                {
                    var quota = client.Inbox.GetQuota();
                    output.AddRow(profile.Name, profile.UserName, quota.CurrentMessageCount, quota.MessageLimit, quota.CurrentStorageSize, quota.StorageLimit);
                }
            }
            output.WriteTo(Console.Out);
        }