public Dictionary <string, Dictionary <string, MailBoxData.MailboxInfo> > GetSpecialDomainFolders() { var specialDomainFolders = new Dictionary <string, Dictionary <string, MailBoxData.MailboxInfo> >(); try { using (var daoFactory = new DaoFactory()) { var imapSpecialMailboxes = daoFactory .CreateImapSpecialMailboxDao() .GetImapSpecialMailboxes(); imapSpecialMailboxes.ForEach(r => { var mb = new MailBoxData.MailboxInfo { folder_id = r.FolderId, skip = r.Skip }; if (specialDomainFolders.Keys.Contains(r.Server)) { specialDomainFolders[r.Server][r.MailboxName] = mb; } else { specialDomainFolders[r.Server] = new Dictionary <string, MailBoxData.MailboxInfo> { { r.MailboxName, mb } } }; }); } } catch (Exception ex) { Log.ErrorFormat("GetSpecialDomainFolders() Exception: {0}", ex.ToString()); } return(specialDomainFolders); }
public MailQueueItemSettings() { using (var daoFactory = new DaoFactory()) { var imapFlags = daoFactory.CreateImapFlagsDao().GetImapFlags(); SkipImapFlags = imapFlags.FindAll(i => i.Skip).ConvertAll(i => i.Name).ToArray(); ImapFlags = new Dictionary <string, int>(); imapFlags.FindAll(i => !i.Skip).ForEach(i => { ImapFlags[i.Name] = i.FolderId; }); var imapSpecialMailboxes = daoFactory.CreateImapSpecialMailboxDao().GetImapSpecialMailboxes(); SpecialDomainFolders = new Dictionary <string, Dictionary <string, MailBoxData.MailboxInfo> >(); imapSpecialMailboxes.ForEach(r => { var mb = new MailBoxData.MailboxInfo { folder_id = r.FolderId, skip = r.Skip }; if (SpecialDomainFolders.Keys.Contains(r.Server)) { SpecialDomainFolders[r.Server][r.MailboxName] = mb; } else { SpecialDomainFolders[r.Server] = new Dictionary <string, MailBoxData.MailboxInfo> { { r.MailboxName, mb } } }; }); } DefaultFolders = GetDefaultFolders(); }