protected override void InternalValidate() { TaskLogger.LogEnter(); base.InternalValidate(); if (base.HasErrors) { return; } ExchangeOrganizationalUnit exchangeOrganizationalUnit = null; if (base.Fields.IsModified("DefaultDistributionListOU")) { this.DataObject.DefaultDistributionListOU = ((this.defaultOU == null) ? null : this.defaultOU.Id); exchangeOrganizationalUnit = this.defaultOU; } else if (this.DataObject.IsChanged(RecipientTemplateProvisioningPolicySchema.DefaultDistributionListOU) && this.DataObject.DefaultDistributionListOU != null) { exchangeOrganizationalUnit = RecipientTaskHelper.ResolveOrganizationalUnitInOrganization(new OrganizationalUnitIdParameter(this.DataObject.DefaultDistributionListOU), this.ConfigurationSession, null, new DataAccessHelper.CategorizedGetDataObjectDelegate(base.GetDataObject <ExchangeOrganizationalUnit>), ExchangeErrorCategory.Client, new Task.TaskVerboseLoggingDelegate(base.WriteVerbose), new Task.ErrorLoggerDelegate(base.WriteError)); } if (exchangeOrganizationalUnit != null) { OrganizationId organizationId = OrganizationId.ForestWideOrgId; if (this.ConfigurationSession is ITenantConfigurationSession) { organizationId = TaskHelper.ResolveOrganizationId(this.DataObject.Id, ADProvisioningPolicy.RdnContainer, (ITenantConfigurationSession)this.ConfigurationSession); } RecipientTaskHelper.IsOrgnizationalUnitInOrganization(this.ConfigurationSession, organizationId, exchangeOrganizationalUnit, new Task.TaskVerboseLoggingDelegate(base.WriteVerbose), new Task.ErrorLoggerDelegate(base.WriteError)); } TaskLogger.LogExit(); }
protected override void InternalValidate() { TaskLogger.LogEnter(); base.InternalValidate(); OrganizationId organizationId = this.DataObject.OrganizationId; OrganizationalUnitIdParameter organizationalUnitIdParameter = null; if (base.Fields.IsModified("RecipientContainer")) { if (this.RecipientContainer == null) { this.DataObject.RecipientContainer = null; } else { organizationalUnitIdParameter = this.RecipientContainer; } } else if (this.DataObject.IsModified(AddressBookBaseSchema.RecipientContainer) && this.DataObject.RecipientContainer != null) { organizationalUnitIdParameter = new OrganizationalUnitIdParameter(this.DataObject.RecipientContainer); } if (organizationalUnitIdParameter != null) { if (base.GlobalConfigSession.IsInPreE14InteropMode()) { base.WriteError(new InvalidOperationException(Strings.ErrorCannotSetRecipientContainer), ErrorCategory.InvalidArgument, this.DataObject.Identity); } this.DataObject.RecipientContainer = NewAddressBookBase.GetRecipientContainer(organizationalUnitIdParameter, (IConfigurationSession)base.DataSession, organizationId, new NewAddressBookBase.GetUniqueObject(base.GetDataObject <ExchangeOrganizationalUnit>), new Task.ErrorLoggerDelegate(base.WriteError), new Task.TaskVerboseLoggingDelegate(base.WriteVerbose)); } if (this.IsObjectStateChanged() && this.DataObject.HasMailboxManagerSetting) { base.WriteError(new InvalidOperationException(Strings.ErrorCanNotUpgradePolicyWithMailboxSetting(this.Identity.ToString())), ErrorCategory.InvalidOperation, this.DataObject.Id); } if (this.IsObjectStateChanged() && this.DataObject.ExchangeVersion.IsOlderThan(ExchangeObjectVersion.Exchange2007)) { base.WriteError(new InvalidOperationException(Strings.ErrorObjectNotManagableFromCurrentConsole(this.Identity.ToString(), this.DataObject.ExchangeVersion.ToString())), ErrorCategory.InvalidOperation, this.DataObject.Identity); } if (!base.HasErrors) { if (this.DataObject.IsChanged(EmailAddressPolicySchema.Priority) && this.DataObject.Priority != 0) { UpdateEmailAddressPolicy.PreparePriorityOfEapObjects(organizationId, this.DataObject, base.DataSession, new TaskExtendedErrorLoggingDelegate(this.WriteError), out this.affectedPolicies, out this.affectedPoliciesOriginalPriority); } if (!base.HasErrors && (this.DataObject.IsChanged(EmailAddressPolicySchema.RecipientFilter) || this.DataObject.IsChanged(EmailAddressPolicySchema.Priority) || this.DataObject.IsChanged(EmailAddressPolicySchema.RawEnabledEmailAddressTemplates) || this.DataObject.IsChanged(EmailAddressPolicySchema.DisabledEmailAddressTemplates) || this.DataObject.IsChanged(EmailAddressPolicySchema.NonAuthoritativeDomains) || this.DataObject.IsChanged(EmailAddressPolicySchema.RecipientContainer))) { this.DataObject[EmailAddressPolicySchema.RecipientFilterApplied] = false; } } if (this.domainValidator == null || !this.domainValidator.OrganizationId.Equals(organizationId)) { this.domainValidator = new UpdateEmailAddressPolicy.WritableDomainValidator(organizationId, this.ConfigurationSession, new Task.TaskErrorLoggingDelegate(base.WriteError)); } this.domainValidator.Validate(this.DataObject); TaskLogger.LogExit(); }
protected override void InternalValidate() { TaskLogger.LogEnter(); base.InternalValidate(); OrganizationalUnitIdParameter organizationalUnitIdParameter = null; if (base.Fields.IsModified("RecipientContainer")) { if (this.RecipientContainer == null) { this.DataObject.RecipientContainer = null; } else { organizationalUnitIdParameter = this.RecipientContainer; } } else if (this.DataObject.IsModified(AddressBookBaseSchema.RecipientContainer) && this.DataObject.RecipientContainer != null) { organizationalUnitIdParameter = new OrganizationalUnitIdParameter(this.DataObject.RecipientContainer); } if (organizationalUnitIdParameter != null) { if (base.GlobalConfigSession.IsInPreE14InteropMode()) { base.WriteError(new InvalidOperationException(Strings.ErrorCannotSetRecipientContainer), ErrorCategory.InvalidArgument, this.DataObject.Identity); } OrganizationId organizationId = this.DataObject.OrganizationId; this.DataObject.RecipientContainer = NewAddressBookBase.GetRecipientContainer(organizationalUnitIdParameter, this.ConfigurationSession, organizationId, new NewAddressBookBase.GetUniqueObject(base.GetDataObject <ExchangeOrganizationalUnit>), new Task.ErrorLoggerDelegate(base.WriteError), new Task.TaskVerboseLoggingDelegate(base.WriteVerbose)); } if (this.IsObjectStateChanged() && this.DataObject.ExchangeVersion.IsOlderThan(ExchangeObjectVersion.Exchange2007)) { TIdParameter identity = this.Identity; base.WriteError(new InvalidOperationException(Strings.ErrorObjectNotManagableFromCurrentConsole(identity.ToString(), this.DataObject.ExchangeVersion.ToString())), ErrorCategory.InvalidOperation, this.DataObject.Identity); } if (!base.HasErrors) { if (this.DataObject.IsTopContainer) { if (this.DataObject.IsModified(ADObjectSchema.Name) || this.DataObject.IsModified(AddressBookBaseSchema.DisplayName)) { TIdParameter identity2 = this.Identity; base.WriteError(new InvalidOperationException(Strings.ErrorInvalidOperationOnContainer(identity2.ToString())), ErrorCategory.InvalidOperation, this.DataObject.Identity); } this.ValidateBrokenRecipientFilterChange(null); } if (!base.HasErrors && (this.DataObject.IsChanged(AddressBookBaseSchema.RecipientFilter) || this.DataObject.IsChanged(AddressBookBaseSchema.RecipientContainer))) { this.DataObject[AddressBookBaseSchema.RecipientFilterApplied] = false; } } TaskLogger.LogExit(); }
protected override IConfigurable PrepareDataObject() { TaskLogger.LogEnter(); IConfigurationSession configurationSession = (IConfigurationSession)base.DataSession; this.containerId = base.CurrentOrgContainerId.GetDescendantId(EmailAddressPolicy.RdnEapContainerToOrganization); this.DataObject = (EmailAddressPolicy)base.PrepareDataObject(); if (!base.HasErrors) { this.DataObject.SetId(this.containerId.GetChildId(base.Name)); if (!this.DataObject.IsModified(EmailAddressPolicySchema.Priority)) { this.DataObject.Priority = EmailAddressPolicyPriority.Lowest; } if (!base.HasErrors && (this.DataObject.Priority != 0 || !this.DataObject.IsModified(EmailAddressPolicySchema.Priority))) { UpdateEmailAddressPolicy.PreparePriorityOfEapObjects(base.OrganizationId ?? OrganizationId.ForestWideOrgId, this.DataObject, base.DataSession, new TaskExtendedErrorLoggingDelegate(this.WriteError), out this.affectedPolicies, out this.affectedPoliciesOriginalPriority); } OrganizationalUnitIdParameter organizationalUnitIdParameter = null; if (base.Fields.IsModified("RecipientContainer")) { if (this.RecipientContainer == null) { this.DataObject.RecipientContainer = null; } else { organizationalUnitIdParameter = this.RecipientContainer; } } else if (this.DataObject.RecipientContainer != null) { organizationalUnitIdParameter = new OrganizationalUnitIdParameter(this.DataObject.RecipientContainer); } if (organizationalUnitIdParameter != null) { if (base.GlobalConfigSession.IsInPreE14InteropMode()) { base.WriteError(new InvalidOperationException(Strings.ErrorCannotSetRecipientContainer), ErrorCategory.InvalidArgument, this.DataObject.Identity); } this.DataObject.RecipientContainer = NewAddressBookBase.GetRecipientContainer(organizationalUnitIdParameter, (IConfigurationSession)base.DataSession, base.OrganizationId ?? OrganizationId.ForestWideOrgId, new NewAddressBookBase.GetUniqueObject(base.GetDataObject <ExchangeOrganizationalUnit>), new Task.ErrorLoggerDelegate(base.WriteError), new Task.TaskVerboseLoggingDelegate(base.WriteVerbose)); } } TaskLogger.LogExit(); return(this.DataObject); }
protected override IConfigurable PrepareDataObject() { TaskLogger.LogEnter(); this.DataObject = (AddressBookBase)base.PrepareDataObject(); if (!base.HasErrors) { if (!this.DataObject.IsModified(AddressBookBaseSchema.DisplayName)) { this.DataObject.DisplayName = base.Name; } ADObjectId containerId = this.GetContainerId(); if (!base.HasErrors) { this.DataObject.SetId(containerId.GetChildId(base.Name)); } } OrganizationalUnitIdParameter organizationalUnitIdParameter = null; if (base.Fields.IsModified("RecipientContainer")) { if (this.RecipientContainer == null) { this.DataObject.RecipientContainer = null; } else { organizationalUnitIdParameter = this.RecipientContainer; } } else if (this.DataObject.RecipientContainer != null) { organizationalUnitIdParameter = new OrganizationalUnitIdParameter(this.DataObject.RecipientContainer); } if (organizationalUnitIdParameter != null) { if (base.GlobalConfigSession.IsInPreE14InteropMode()) { base.WriteError(new InvalidOperationException(Strings.ErrorCannotSetRecipientContainer), ErrorCategory.InvalidArgument, this.DataObject.Identity); } this.DataObject.RecipientContainer = NewAddressBookBase.GetRecipientContainer(organizationalUnitIdParameter, (IConfigurationSession)base.DataSession, base.OrganizationId ?? OrganizationId.ForestWideOrgId, new NewAddressBookBase.GetUniqueObject(base.GetDataObject <ExchangeOrganizationalUnit>), new Task.ErrorLoggerDelegate(base.WriteError), new Task.TaskVerboseLoggingDelegate(base.WriteVerbose)); } TaskLogger.LogExit(); return(this.DataObject); }
internal static ADObjectId GetRecipientContainer(OrganizationalUnitIdParameter recipientContainer, IConfigurationSession cfgSession, OrganizationId organizationId, NewAddressBookBase.GetUniqueObject getDataObject, Task.ErrorLoggerDelegate writeError, Task.TaskVerboseLoggingDelegate writeVerbose) { bool useConfigNC = cfgSession.UseConfigNC; bool useGlobalCatalog = cfgSession.UseGlobalCatalog; cfgSession.UseConfigNC = false; cfgSession.UseGlobalCatalog = true; ExchangeOrganizationalUnit exchangeOrganizationalUnit; try { exchangeOrganizationalUnit = (ExchangeOrganizationalUnit)getDataObject(recipientContainer, cfgSession, organizationId.OrganizationalUnit, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(recipientContainer.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(recipientContainer.ToString())), ExchangeErrorCategory.Client); RecipientTaskHelper.IsOrgnizationalUnitInOrganization(cfgSession, organizationId, exchangeOrganizationalUnit, writeVerbose, writeError); } finally { cfgSession.UseConfigNC = useConfigNC; cfgSession.UseGlobalCatalog = useGlobalCatalog; } return(exchangeOrganizationalUnit.Id); }
private ADObjectId ValidateRecipientContainer(OrganizationalUnitIdParameter recipientContainer) { bool useConfigNC = this.ConfigurationSession.UseConfigNC; bool useGlobalCatalog = this.ConfigurationSession.UseGlobalCatalog; ADObjectId id; try { this.ConfigurationSession.UseConfigNC = false; if (string.IsNullOrEmpty(this.ConfigurationSession.DomainController)) { this.ConfigurationSession.UseGlobalCatalog = true; } ADConfigurationObject adconfigurationObject = (ADConfigurationObject)base.GetDataObject <ExchangeOrganizationalUnit>(recipientContainer, this.ConfigurationSession, null, new LocalizedString?(Strings.ErrorRecipientContainerInvalidOrNotExists), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(recipientContainer.ToString())), ExchangeErrorCategory.Client); id = adconfigurationObject.Id; } finally { this.ConfigurationSession.UseConfigNC = useConfigNC; this.ConfigurationSession.UseGlobalCatalog = useGlobalCatalog; } return(id); }
protected override IConfigurable PrepareDataObject() { TaskLogger.LogEnter(); UMAutoAttendant umautoAttendant = (UMAutoAttendant)base.PrepareDataObject(); if (base.HasErrors) { return(null); } if (base.Fields.IsModified("ContactRecipientContainer") && base.Fields.IsModified("ContactAddressList")) { base.WriteError(new InvalidALParameterException(), ErrorCategory.NotSpecified, null); TaskLogger.LogExit(); return(null); } if (base.Fields.IsModified("TimeZone") && base.Fields.IsModified("TimeZoneName")) { base.WriteError(new InvalidParameterException(Strings.InvalidTimeZoneParameters), ErrorCategory.NotSpecified, null); } if (base.Fields.IsModified("ContactRecipientContainer")) { OrganizationalUnitIdParameter contactRecipientContainer = this.ContactRecipientContainer; if (contactRecipientContainer != null) { bool useConfigNC = this.ConfigurationSession.UseConfigNC; this.ConfigurationSession.UseConfigNC = false; ADConfigurationObject adconfigurationObject = (ADConfigurationObject)base.GetDataObject <ExchangeOrganizationalUnit>(contactRecipientContainer, this.ConfigurationSession, null, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(this.ContactRecipientContainer.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(this.ContactRecipientContainer.ToString()))); this.ConfigurationSession.UseConfigNC = useConfigNC; if (!base.HasErrors) { umautoAttendant.ContactAddressList = adconfigurationObject.Id; } } else { umautoAttendant.ContactAddressList = null; } } if (base.Fields.IsModified("ContactAddressList")) { AddressListIdParameter contactAddressList = this.ContactAddressList; if (contactAddressList != null) { IEnumerable <AddressBookBase> objects = contactAddressList.GetObjects <AddressBookBase>(null, this.ConfigurationSession); using (IEnumerator <AddressBookBase> enumerator = objects.GetEnumerator()) { if (enumerator.MoveNext()) { umautoAttendant.ContactAddressList = (ADObjectId)enumerator.Current.Identity; } goto IL_193; } } umautoAttendant.ContactAddressList = null; } IL_193: if (base.Fields.IsModified("DTMFFallbackAutoAttendant")) { UMAutoAttendantIdParameter dtmffallbackAutoAttendant = this.DTMFFallbackAutoAttendant; if (dtmffallbackAutoAttendant != null) { this.fallbackAA = (UMAutoAttendant)base.GetDataObject <UMAutoAttendant>(dtmffallbackAutoAttendant, this.ConfigurationSession, null, new LocalizedString?(Strings.NonExistantAutoAttendant(dtmffallbackAutoAttendant.ToString())), new LocalizedString?(Strings.MultipleAutoAttendantsWithSameId(dtmffallbackAutoAttendant.ToString()))); umautoAttendant.DTMFFallbackAutoAttendant = this.fallbackAA.Id; } else { umautoAttendant.DTMFFallbackAutoAttendant = null; } } if (base.Fields.IsModified("DefaultMailbox")) { if (this.DefaultMailbox == null) { umautoAttendant.DefaultMailbox = null; umautoAttendant.DefaultMailboxLegacyDN = null; } else { IRecipientSession recipientSessionScopedToOrganization = Utility.GetRecipientSessionScopedToOrganization(umautoAttendant.OrganizationId, true); LocalizedString value = Strings.InvalidMailbox(this.DefaultMailbox.ToString(), "DefaultMailbox"); umautoAttendant.DefaultMailbox = (ADUser)base.GetDataObject <ADUser>(this.DefaultMailbox, recipientSessionScopedToOrganization, null, null, new LocalizedString?(value), new LocalizedString?(value)); umautoAttendant.DefaultMailboxLegacyDN = umautoAttendant.DefaultMailbox.LegacyExchangeDN; } } if (!base.HasErrors) { if (base.Fields.IsModified("TimeZone")) { umautoAttendant.TimeZone = this.TimeZone; } if (base.Fields.IsModified("TimeZoneName")) { umautoAttendant.TimeZoneName = this.TimeZoneName; } } TaskLogger.LogExit(); return(umautoAttendant); }
private ADObjectId GetADObjectIdFromOrganizationalUnitIdParameter(IConfigurationSession configurationSession, OrganizationalUnitIdParameter root) { bool useConfigNC = configurationSession.UseConfigNC; bool useGlobalCatalog = configurationSession.UseGlobalCatalog; ADObjectId id; try { configurationSession.UseConfigNC = false; configurationSession.UseGlobalCatalog = true; IConfigurable configurable = (ADConfigurationObject)base.GetDataObject <ExchangeOrganizationalUnit>(root, configurationSession, base.OrganizationId.OrganizationalUnit, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(root.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(root.ToString()))); id = ((ADObject)configurable).Id; } finally { configurationSession.UseConfigNC = useConfigNC; configurationSession.UseGlobalCatalog = useGlobalCatalog; } return(id); }
private ADObjectId GetADObjectIdFromOrganizationalUnitIdParameter(IConfigurationSession configurationSession, OrganizationalUnitIdParameter root) { OrganizationId organizationId = OrganizationId.ForestWideOrgId; if (configurationSession is ITenantConfigurationSession) { organizationId = TaskHelper.ResolveOrganizationId(this.DataObject.Id, ManagementScope.RdnScopesContainerToOrganization, (ITenantConfigurationSession)configurationSession); } bool useConfigNC = configurationSession.UseConfigNC; bool useGlobalCatalog = configurationSession.UseGlobalCatalog; ADObjectId id; try { configurationSession.UseConfigNC = false; configurationSession.UseGlobalCatalog = true; IConfigurable configurable = (ADConfigurationObject)base.GetDataObject <ExchangeOrganizationalUnit>(root, configurationSession, (null == organizationId) ? null : organizationId.OrganizationalUnit, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(root.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(root.ToString()))); id = ((ADObject)configurable).Id; } finally { configurationSession.UseConfigNC = useConfigNC; configurationSession.UseGlobalCatalog = useGlobalCatalog; } return(id); }
private void VerifyAndSetRecipientViewRoot(string root) { if (object.Equals(root, this.modifiedServerSettings.RecipientViewRoot)) { return; } OrganizationalUnitIdParameter organizationalUnitIdParameter = null; try { organizationalUnitIdParameter = OrganizationalUnitIdParameter.Parse(root); } catch (ArgumentException exception) { base.WriteError(exception, ErrorCategory.InvalidArgument, this); } if (this.configSession == null) { ADSessionSettings sessionSettings = ADSessionSettings.FromCustomScopeSet(base.ScopeSet, ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), base.CurrentOrganizationId, base.ExecutingUserOrganizationId, true); this.configSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.PartiallyConsistent, sessionSettings, 588, "VerifyAndSetRecipientViewRoot", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\ADServerSettings\\SetADServerSettings.cs"); this.configSession.UseGlobalCatalog = true; this.configSession.UseConfigNC = false; } ADObjectId adobjectId = null; if (base.ScopeSet.RecipientReadScope != null && base.ScopeSet.RecipientReadScope.Root != null) { adobjectId = base.ScopeSet.RecipientReadScope.Root; } ExchangeOrganizationalUnit exchangeOrganizationalUnit = null; if (base.IsVerboseOn) { base.WriteVerbose(Strings.VerboseVerifyingRecipientViewRoot(root)); } IEnumerable <ExchangeOrganizationalUnit> objects = organizationalUnitIdParameter.GetObjects <ExchangeOrganizationalUnit>(adobjectId, this.configSession); using (IEnumerator <ExchangeOrganizationalUnit> enumerator = objects.GetEnumerator()) { if (enumerator.MoveNext()) { exchangeOrganizationalUnit = enumerator.Current; if (enumerator.MoveNext()) { if (adobjectId != null) { base.WriteError(new ManagementObjectAmbiguousException(Strings.ErrorRecipientViewRootDuplicatedUnderScope(root, adobjectId.ToString())), ErrorCategory.InvalidArgument, this); } else { base.WriteError(new ManagementObjectAmbiguousException(Strings.ErrorRecipientViewRootDuplicated(root)), ErrorCategory.InvalidArgument, this); } } } else if (adobjectId != null) { base.WriteError(new ArgumentException(Strings.ErrorRecipientViewRootNotFoundUnderScope(root, adobjectId.ToString())), ErrorCategory.InvalidArgument, this); } else { base.WriteError(new ArgumentException(Strings.ErrorRecipientViewRootNotFound(root)), ErrorCategory.InvalidArgument, this); } } this.modifiedServerSettings.RecipientViewRoot = exchangeOrganizationalUnit.Id; if (base.IsVerboseOn) { base.WriteVerbose(Strings.VerboseVerifyRecipientViewRootSucceed); } }
protected override IConfigurable PrepareDataObject() { TaskLogger.LogEnter(); UMDialPlan umdialPlan = (UMDialPlan)base.PrepareDataObject(); if (base.HasErrors) { return(null); } if (base.Fields.IsModified("ContactRecipientContainer") && base.Fields.IsModified("ContactAddressList")) { base.WriteError(new InvalidALParameterException(), ErrorCategory.NotSpecified, null); TaskLogger.LogExit(); return(null); } if (base.Fields.IsModified("CountryOrRegionCode")) { if (string.IsNullOrEmpty(this.CountryOrRegionCode)) { base.WriteError(new InvalidParameterException(Strings.EmptyCountryOrRegionCode), ErrorCategory.InvalidArgument, null); } else { umdialPlan.CountryOrRegionCode = this.CountryOrRegionCode; } } if (base.Fields.IsModified("ContactRecipientContainer")) { OrganizationalUnitIdParameter contactRecipientContainer = this.ContactRecipientContainer; if (contactRecipientContainer != null) { bool useConfigNC = this.ConfigurationSession.UseConfigNC; this.ConfigurationSession.UseConfigNC = false; ADConfigurationObject adconfigurationObject = (ADConfigurationObject)base.GetDataObject <ExchangeOrganizationalUnit>(contactRecipientContainer, this.ConfigurationSession, null, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(this.ContactRecipientContainer.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(this.ContactRecipientContainer.ToString()))); this.ConfigurationSession.UseConfigNC = useConfigNC; if (!base.HasErrors) { umdialPlan.ContactAddressList = adconfigurationObject.Id; } } else { umdialPlan.ContactAddressList = null; } } if (base.Fields.IsModified("ContactAddressList")) { AddressListIdParameter contactAddressList = this.ContactAddressList; if (contactAddressList != null) { IEnumerable <AddressBookBase> objects = contactAddressList.GetObjects <AddressBookBase>(null, this.ConfigurationSession); using (IEnumerator <AddressBookBase> enumerator = objects.GetEnumerator()) { if (enumerator.MoveNext()) { umdialPlan.ContactAddressList = (ADObjectId)enumerator.Current.Identity; } goto IL_19C; } } umdialPlan.ContactAddressList = null; } IL_19C: if (umdialPlan.ContactScope != CallSomeoneScopeEnum.AddressList) { umdialPlan.ContactAddressList = null; } if (base.Fields.IsModified("UMAutoAttendant")) { UMAutoAttendantIdParameter umautoAttendant = this.UMAutoAttendant; if (umautoAttendant != null) { UMAutoAttendant umautoAttendant2 = (UMAutoAttendant)base.GetDataObject <UMAutoAttendant>(umautoAttendant, this.ConfigurationSession, null, new LocalizedString?(Strings.NonExistantAutoAttendant(umautoAttendant.ToString())), new LocalizedString?(Strings.MultipleAutoAttendantsWithSameId(umautoAttendant.ToString()))); if (!base.HasErrors) { umdialPlan.UMAutoAttendant = umautoAttendant2.Id; } } else { umdialPlan.UMAutoAttendant = null; } } TaskLogger.LogExit(); return(umdialPlan); }