Beispiel #1
0
        protected override void InternalProcessRecord()
        {
            LazilyInitialized <SharedTenantConfigurationState> currentOrgState = this.CurrentOrgState;
            OrganizationId currentOrganizationId = base.CurrentOrganizationId;
            TDataObject    dataObject            = base.DataObject;

            if (!currentOrganizationId.Equals(dataObject.OrganizationId))
            {
                currentOrgState = new LazilyInitialized <SharedTenantConfigurationState>(delegate()
                {
                    TDataObject dataObject3 = base.DataObject;
                    return(SharedConfiguration.GetSharedConfigurationState(dataObject3.OrganizationId));
                });
            }
            if (SharedConfigurationTaskHelper.ShouldPrompt(this, this.SharedTenantConfigurationMode, currentOrgState) && !base.InternalForce)
            {
                TDataObject dataObject2 = base.DataObject;
                if (!base.ShouldContinue(Strings.ConfirmSharedConfiguration(dataObject2.OrganizationId.OrganizationalUnit.Name)))
                {
                    TaskLogger.LogExit();
                    return;
                }
            }
            base.InternalProcessRecord();
        }
Beispiel #2
0
 protected override void InternalBeginProcessing()
 {
     TaskLogger.LogEnter();
     base.InternalBeginProcessing();
     base.CurrentOrganizationId = this.ResolveCurrentOrganization();
     this.CurrentOrgState       = new LazilyInitialized <SharedTenantConfigurationState>(() => SharedConfiguration.GetSharedConfigurationState(base.CurrentOrganizationId));
     TaskLogger.LogExit();
 }
Beispiel #3
0
        protected override void InternalValidate()
        {
            SharedTenantConfigurationMode sharedTenantConfigurationMode        = this.SharedTenantConfigurationMode;
            LazilyInitialized <SharedTenantConfigurationState> currentOrgState = this.CurrentOrgState;
            TIdentity identity = this.Identity;

            SharedConfigurationTaskHelper.Validate(this, sharedTenantConfigurationMode, currentOrgState, identity.ToString());
            base.InternalValidate();
        }
Beispiel #4
0
        // Token: 0x060005CC RID: 1484 RVA: 0x0001614C File Offset: 0x0001434C
        protected override void InternalProcessRecord()
        {
            TaskLogger.LogEnter();
            OrganizationId currentOrganizationId = base.CurrentOrganizationId;
            TDataObject    dataObject            = this.DataObject;

            if (!currentOrganizationId.Equals(dataObject.OrganizationId))
            {
                this.CurrentOrgState = new LazilyInitialized <SharedTenantConfigurationState>(delegate()
                {
                    TDataObject dataObject8 = this.DataObject;
                    return(SharedConfiguration.GetSharedConfigurationState(dataObject8.OrganizationId));
                });
            }
            if (SharedConfigurationTaskHelper.ShouldPrompt(this, this.SharedTenantConfigurationMode, this.CurrentOrgState) && !base.InternalForce)
            {
                TDataObject dataObject2 = this.DataObject;
                if (!base.ShouldContinue(Strings.ConfirmSharedConfiguration(dataObject2.OrganizationId.OrganizationalUnit.Name)))
                {
                    TaskLogger.LogExit();
                    return;
                }
            }
            TDataObject dataObject3 = this.DataObject;

            if (dataObject3.IsChanged(ADObjectSchema.Id))
            {
                IDirectorySession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(base.DomainController, true, ConsistencyMode.PartiallyConsistent, null, base.OrgWideSessionSettings, ConfigScopes.TenantSubTree, 702, "InternalProcessRecord", "f:\\15.00.1497\\sources\\dev\\Configuration\\src\\ObjectModel\\BaseTasks\\SetAdObjectTask.cs");
                tenantOrTopologyConfigurationSession.UseConfigNC = ((IDirectorySession)base.DataSession).UseConfigNC;
                TDataObject dataObject4 = this.DataObject;
                ADObjectId  parent      = dataObject4.Id.Parent;
                ADRawEntry  adrawEntry  = tenantOrTopologyConfigurationSession.ReadADRawEntry(parent, new PropertyDefinition[]
                {
                    ADObjectSchema.ExchangeVersion,
                    ADObjectSchema.ObjectClass
                });
                ExchangeObjectVersion        exchangeObjectVersion = (ExchangeObjectVersion)adrawEntry[ADObjectSchema.ExchangeVersion];
                MultiValuedProperty <string> multiValuedProperty   = (MultiValuedProperty <string>)adrawEntry[ADObjectSchema.ObjectClass];
                TDataObject dataObject5 = this.DataObject;
                if (dataObject5.ExchangeVersion.IsOlderThan(exchangeObjectVersion) && !multiValuedProperty.Contains(Organization.MostDerivedClass))
                {
                    TDataObject dataObject6 = this.DataObject;
                    string      name        = dataObject6.Name;
                    TDataObject dataObject7 = this.DataObject;
                    base.WriteError(new TaskException(Strings.ErrorParentHasNewerVersion(name, dataObject7.ExchangeVersion.ToString(), exchangeObjectVersion.ToString())), (ErrorCategory)1004, null);
                }
            }
            base.InternalProcessRecord();
            TaskLogger.LogExit();
        }
 internal static void VerifyIsNotTinyTenant(LazilyInitialized <SharedTenantConfigurationState> configurationState, Task.ErrorLoggerDelegate writeError)
 {
     if (null == configurationState)
     {
         throw new ArgumentNullException("configurationState");
     }
     if (writeError == null)
     {
         throw new ArgumentNullException("writeError");
     }
     if ((configurationState.Value & SharedTenantConfigurationState.Dehydrated) != SharedTenantConfigurationState.UnSupported)
     {
         SharedConfigurationTaskHelper.WriteTinyTenantError(writeError);
     }
 }
Beispiel #6
0
        // Token: 0x060005C1 RID: 1473 RVA: 0x00015BE0 File Offset: 0x00013DE0
        protected override void InternalValidate()
        {
            SharedTenantConfigurationMode sharedTenantConfigurationMode        = this.SharedTenantConfigurationMode;
            LazilyInitialized <SharedTenantConfigurationState> currentOrgState = this.CurrentOrgState;
            TIdentity identity = this.Identity;

            SharedConfigurationTaskHelper.Validate(this, sharedTenantConfigurationMode, currentOrgState, identity.ToString());
            ADObjectId adobjectId;

            if (this.IgnoreDefaultScope && !RecipientTaskHelper.IsValidDistinguishedName(this.Identity, out adobjectId))
            {
                base.WriteError(new ArgumentException(Strings.ErrorOnlyDNSupportedWithIgnoreDefaultScope), (ErrorCategory)1000, this.Identity);
            }
            base.InternalValidate();
        }
Beispiel #7
0
        // Token: 0x060005CB RID: 1483 RVA: 0x000160D8 File Offset: 0x000142D8
        protected override void InternalValidate()
        {
            SharedTenantConfigurationMode sharedTenantConfigurationMode        = this.SharedTenantConfigurationMode;
            LazilyInitialized <SharedTenantConfigurationState> currentOrgState = this.CurrentOrgState;
            string targetObject;

            if (this.Identity == null)
            {
                targetObject = null;
            }
            else
            {
                TIdentity identity = this.Identity;
                targetObject = identity.ToString();
            }
            SharedConfigurationTaskHelper.Validate(this, sharedTenantConfigurationMode, currentOrgState, targetObject);
            base.InternalValidate();
        }
Beispiel #8
0
 // Token: 0x060005CA RID: 1482 RVA: 0x000160B9 File Offset: 0x000142B9
 protected override void InternalBeginProcessing()
 {
     base.InternalBeginProcessing();
     this.CurrentOrgState = new LazilyInitialized <SharedTenantConfigurationState>(() => SharedConfiguration.GetSharedConfigurationState(base.CurrentOrganizationId));
 }
 public static bool ShouldPrompt(Task task, SharedTenantConfigurationMode taskSharedTenantConfigurationMode, LazilyInitialized <SharedTenantConfigurationState> currentOrgState)
 {
     return(taskSharedTenantConfigurationMode != SharedTenantConfigurationMode.NotShared && (currentOrgState.Value & SharedTenantConfigurationState.Shared) != SharedTenantConfigurationState.UnSupported);
 }
 public static void Validate(Task task, SharedTenantConfigurationMode taskSharedTenantConfigurationMode, LazilyInitialized <SharedTenantConfigurationState> currentOrgState, string targetObject)
 {
     if (taskSharedTenantConfigurationMode == SharedTenantConfigurationMode.NotShared)
     {
         return;
     }
     if (SharedTenantConfigurationState.UnSupported == currentOrgState.Value || SharedTenantConfigurationState.NotShared == currentOrgState.Value)
     {
         return;
     }
     if (SharedTenantConfigurationMode.Static == taskSharedTenantConfigurationMode && (currentOrgState.Value & SharedTenantConfigurationState.Static) != SharedTenantConfigurationState.UnSupported)
     {
         task.WriteError(new InvalidOperationInDehydratedContextException(Strings.ErrorWriteOpOnDehydratedTenant), ExchangeErrorCategory.Context, targetObject);
     }
     if ((currentOrgState.Value & SharedTenantConfigurationState.Dehydrated) != SharedTenantConfigurationState.UnSupported)
     {
         task.WriteError(new InvalidOperationInDehydratedContextException(Strings.ErrorWriteOpOnDehydratedTenant), ExchangeErrorCategory.Context, targetObject);
     }
 }
 protected EwsStoreDataProvider(LazilyInitialized <IExchangePrincipal> mailbox, SecurityAccessToken securityAccessToken) : this(mailbox)
 {
     this.securityAccessToken = securityAccessToken;
 }
 protected EwsStoreDataProvider(LazilyInitialized <IExchangePrincipal> mailbox, SpecialLogonType logonType, OpenAsAdminOrSystemServiceBudgetTypeType budgetType) : this(mailbox)
 {
     this.logonType  = new SpecialLogonType?(logonType);
     this.budgetType = budgetType;
 }
 protected EwsStoreDataProvider(LazilyInitialized <IExchangePrincipal> mailbox)
 {
     this.mailbox  = mailbox;
     this.CanRetry = true;
 }