Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }