コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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;
        }
コード例 #4
0
ファイル: ServerModel.cs プロジェクト: vipwan/CommunityServer
 protected abstract void _DeleteWebDomain(WebDomainBase webDomain);
コード例 #5
0
        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();
                }
            }
        }
コード例 #6
0
ファイル: MockServer.cs プロジェクト: vipwan/CommunityServer
 protected override void _DeleteWebDomain(WebDomainBase webDomain)
 {
     _serverData.Domains.Remove(webDomain);
 }
コード例 #7
0
ファイル: MockServer.cs プロジェクト: vipwan/CommunityServer
        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;
        }