protected override WebDomainBase _CreateWebDomain(string name) { var domain = new WebDomainBase(name) {DateCreated = DateTime.UtcNow}; try { var domainDescription = String.Format("Domain created in UtcTime: {0}, for tenant: {1}", domain.DateCreated, Tenant); var insertDomainQuery = new SqlInsert(DomainTable.name) .InColumnValue(DomainTable.Columns.domain, domain.Name) .InColumnValue(DomainTable.Columns.description, domainDescription) .InColumnValue(DomainTable.Columns.created, domain.DateCreated) .InColumnValue(DomainTable.Columns.modified, domain.DateCreated) .InColumnValue(DomainTable.Columns.active, true); using (var db = _dbManager.GetAdminDb()) { db.ExecuteNonQuery(insertDomainQuery); } return domain; } catch (MySqlException ex) { if (ex.Message.StartsWith("Duplicate entry")) throw new ArgumentException("Already added"); throw; } }
public MailAddressBase(string localpart, WebDomainBase domain) { if (string.IsNullOrEmpty(localpart)) throw new ArgumentNullException("localpart"); if (!Parser.IsEmailLocalPartValid(localpart)) throw new ArgumentException("Email's local part contains incorrect characters.", "localpart"); if (localpart.Length > 64) throw new ArgumentException("Email's local part exceed limitation of 64 characters.", "localpart"); LocalPart = localpart; Domain = domain; }
public MailAddressBase(string localpart, WebDomainBase domain) { if (string.IsNullOrEmpty(localpart)) { throw new ArgumentNullException("localpart"); } if (!Parser.IsEmailLocalPartValid(localpart)) { throw new ArgumentException("Email's local part contains incorrect characters.", "localpart"); } if (localpart.Length > 64) { throw new ArgumentException("Email's local part exceed limitation of 64 characters.", "localpart"); } LocalPart = localpart; Domain = domain; }
protected abstract void _DeleteWebDomain(WebDomainBase webDomain);
protected override void _DeleteWebDomain(WebDomainBase webDomain) { var deleteMailboxQuery = new SqlDelete(MailboxTable.name).Where(MailboxTable.Columns.domain, webDomain.Name); var deleteMailboxAliases = new SqlDelete(AliasTable.name).Where(AliasTable.Columns.domain, webDomain.Name); var deleteDomainQuery = new SqlDelete(DomainTable.name).Where(DomainTable.Columns.domain, webDomain.Name); using (var db = _dbManager.GetAdminDb()) { using (var t = db.BeginTransaction()) { ClearDomainStorageSpace(webDomain.Name); db.ExecuteNonQuery(deleteMailboxAliases); db.ExecuteNonQuery(deleteMailboxQuery); db.ExecuteNonQuery(deleteDomainQuery); t.Commit(); } } }
protected override void _DeleteWebDomain(WebDomainBase webDomain) { _serverData.Domains.Remove(webDomain); }
protected override WebDomainBase _CreateWebDomain(string name) { if (_serverData.Domains.Any(d => d.Name == name)) { throw new ArgumentException("Already added"); } var resultDomain = new WebDomainBase (name); _serverData.Domains.Add(resultDomain); return resultDomain; }