private void SetTrustedList(MailboxJunkEmailConfiguration o, JunkEmailRule rule) { MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationTuple junkEmailValidationTuple = this.SetList(o.TrustedSendersAndDomains, rule.TrustedSenderEmailCollection, rule.TrustedSenderDomainCollection); if (junkEmailValidationTuple.Problem == MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsGood) { junkEmailValidationTuple = this.SetList(o.TrustedSendersAndDomains, rule.TrustedRecipientEmailCollection, rule.TrustedRecipientDomainCollection); } LocalizedString localizedString = LocalizedString.Empty; switch (junkEmailValidationTuple.Problem) { case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsUsersEmailOrDomain: localizedString = ServerStrings.JunkEmailTrustedListOwnersEmailAddressException(junkEmailValidationTuple.Address); goto IL_EB; case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsInternalToOrganization: localizedString = ServerStrings.JunkEmailTrustedListInternalToOrganizationException(junkEmailValidationTuple.Address); goto IL_EB; case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsDuplicate: localizedString = ServerStrings.JunkEmailTrustedListXsoDuplicateException(junkEmailValidationTuple.Address); goto IL_EB; case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsEmpty: localizedString = ServerStrings.JunkEmailTrustedListXsoEmptyException; goto IL_EB; case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsMalformatted: localizedString = ServerStrings.JunkEmailTrustedListXsoFormatException(junkEmailValidationTuple.Address); goto IL_EB; case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsNull: localizedString = ServerStrings.JunkEmailTrustedListXsoNullException; goto IL_EB; case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsTooBig: localizedString = ServerStrings.JunkEmailTrustedListXsoTooBigException(junkEmailValidationTuple.Address); goto IL_EB; case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsFull: localizedString = ServerStrings.JunkEmailTrustedListXsoTooManyException; goto IL_EB; case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsGood: goto IL_EB; } localizedString = ServerStrings.JunkEmailTrustedListXsoGenericException(junkEmailValidationTuple.Address); IL_EB: if (localizedString != LocalizedString.Empty) { PropertyValidationError propertyValidationError = new PropertyValidationError(localizedString, MailboxJunkEmailConfigurationSchema.TrustedSendersAndDomains, o.TrustedSendersAndDomains); throw new PropertyValidationException(localizedString.ToString(), propertyValidationError.PropertyDefinition, new PropertyValidationError[] { propertyValidationError }); } }
protected override void InternalSave(ConfigurableObject instance) { if (this.Session == null) { throw new DataSourceOperationException(ServerStrings.JunkEmailInvalidConstructionException); } this.TestForJunkEmailFolder(); MailboxJunkEmailConfiguration o = (MailboxJunkEmailConfiguration)instance; JunkEmailRule junkEmailRule = base.MailboxSession.JunkEmailRule; this.PrepareJunkEmailRule(o, junkEmailRule); this.SaveRule(junkEmailRule); }
protected override IEnumerable <T> InternalFindPaged <T>(QueryFilter filter, ObjectId rootId, bool deepSearch, SortBy sortBy, int pageSize) { this.TestArguments <T>(filter, rootId); JunkEmailRule rule = base.MailboxSession.JunkEmailRule; MailboxJunkEmailConfiguration configuration = (MailboxJunkEmailConfiguration)((object)((default(T) == null) ? Activator.CreateInstance <T>() : default(T))); configuration.MailboxOwnerId = base.MailboxSession.MailboxOwner.ObjectId; configuration.Enabled = rule.IsEnabled; configuration.ContactsTrusted = rule.IsContactsFolderTrusted; configuration.TrustedListsOnly = rule.TrustedListsOnly; configuration.TrustedSendersAndDomains = this.CompileTrusted(rule); configuration.BlockedSendersAndDomains = this.CompileBlocked(rule); yield return((T)((object)configuration)); yield break; }
private void PrepareJunkEmailRule(MailboxJunkEmailConfiguration o, JunkEmailRule rule) { rule.IsEnabled = o.Enabled; rule.TrustedListsOnly = o.TrustedListsOnly; if (o.ContactsTrusted) { rule.SynchronizeContactsCache(); } else { rule.ClearContactsCache(); } this.SynchronizeTrustedLists(rule); this.SetBlockedList(o, rule); this.SetTrustedList(o, rule); }