Esempio n. 1
0
        private static int RunWith(ListOptions opts)
        {
            var storage = new ProfileStorage();

            var output = new OutputTable();

            output.AddColumns("name", "username", "hostname")
            .AddColumn("port", "0", OutputAlignment.Right)
            .AddColumns("ssl");

            if (opts.Passwords)
            {
                output.AddColumn("password");
            }

            foreach (var profile in storage.GetProfiles(opts))
            {
                var row = output.AddRow(profile.Name, profile.UserName, profile.HostName, profile.Port, profile.Ssl);
                if (opts.Passwords)
                {
                    row.Values.Add(profile.Password);
                }
            }

            output.WriteTo(Console.Out);

            return(0);
        }
Esempio n. 2
0
        private static void OutputFolder(OutputTable output, IMailFolder folder, ref int messages, ref int unread, int indent = 0)
        {
            var a = folder.Open(FolderAccess.ReadOnly);

            output.AddRow("".PadRight(indent) + folder.Name, folder.Count, folder.Unread);
            var q = folder.GetQuota();

            messages += folder.Count;
            unread   += folder.Unread;

            folder.Close();

            foreach (var subFolder in folder.GetSubfolders())
            {
                OutputFolder(output, subFolder, ref messages, ref unread, indent + 1);
            }
        }
Esempio n. 3
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);
                }
            }
        }
Esempio n. 4
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);
        }