public void RemoveDomain(string domain, bool withStorageClean = true) { if (withStorageClean) { ClearDomainStorageSpace(domain); } using (var db = new DbManager(_csName)) { using (var tx = db.BeginTransaction(IsolationLevel.ReadUncommitted)) { var aliasDao = new AliasDao(db); aliasDao.RemoveByDomain(domain); var mailboxDao = new MailboxDao(db); mailboxDao.RemoveByDomain(domain); var domainDao = new DomainDao(db); domainDao.Remove(domain); var dkimDao = new DkimDao(db); dkimDao.Remove(domain); tx.Commit(); } } }
public void ChangePassword(string username, string newPassword) { using (var db = new DbManager(_csName)) { var mailboxDao = new MailboxDao(db); var res = mailboxDao.ChangePassword(username, newPassword); if (res < 1) { throw new Exception(string.Format("Server mailbox \"{0}\" not found", username)); } } }
public void SaveMailbox(Mailbox mailbox, Alias address, bool deliver = true) { using (var db = new DbManager(_csName)) { using (var tx = db.BeginTransaction(IsolationLevel.ReadUncommitted)) { var mailboxDao = new MailboxDao(db); mailboxDao.Save(mailbox, deliver); var aliasDao = new AliasDao(db); aliasDao.Save(address); tx.Commit(); } } }
public void RemoveMailbox(string address) { var mailAddress = new MailAddress(address); ClearMailboxStorageSpace(mailAddress.User, mailAddress.Host); using (var db = new DbManager(_csName)) { using (var tx = db.BeginTransaction(IsolationLevel.ReadUncommitted)) { var mailboxDao = new MailboxDao(db); mailboxDao.Remove(address); var aliasDao = new AliasDao(db); aliasDao.Remove(address); tx.Commit(); } } }