// Token: 0x06000560 RID: 1376 RVA: 0x00014AD4 File Offset: 0x00012CD4 protected override void InternalProcessRecord() { TaskLogger.LogEnter(new object[] { this.Identity, this.DataObject }); base.WriteVerbose(TaskVerboseStringHelper.GetDeleteObjectVerboseString(this.dataObject.Identity, base.DataSession, typeof(TDataObject))); try { if (this.ShouldSoftDeleteObject()) { this.SaveSoftDeletedObject(); } else { base.DataSession.Delete(this.dataObject); } } catch (DataSourceTransientException exception) { base.WriteError(exception, (ErrorCategory)1002, null); } finally { base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(base.DataSession)); } TaskLogger.LogExit(); }
protected override IConfigurable PrepareDataObject() { TaskLogger.LogEnter(); IEnumerable <TDataObject> enumerable = null; base.WriteVerbose(TaskVerboseStringHelper.GetFindDataObjectsVerboseString(base.DataSession, typeof(TDataObject), this.InternalFilter, this.RootId, this.DeepSearch)); try { enumerable = base.DataSession.FindPaged <TDataObject>(this.InternalFilter, this.RootId, this.DeepSearch, null, 0); } catch (DataSourceTransientException exception) { base.WriteError(exception, (ErrorCategory)1002, null); } finally { base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(base.DataSession)); } if (enumerable == null) { base.WriteError(new ManagementObjectNotFoundException(Strings.ExceptionObjectNotFound(typeof(TDataObject).ToString())), (ErrorCategory)1003, null); } IConfigurable configurable = null; using (IEnumerator <TDataObject> enumerator = enumerable.GetEnumerator()) { if (enumerator.MoveNext()) { configurable = enumerator.Current; if (enumerator.MoveNext()) { base.WriteError(new ManagementObjectAmbiguousException(Strings.ExceptionObjectAmbiguous(typeof(TDataObject).ToString())), (ErrorCategory)1003, null); } } else { base.WriteError(new ManagementObjectNotFoundException(Strings.ExceptionObjectNotFound(typeof(TDataObject).ToString())), (ErrorCategory)1003, null); } } ADObject adobject = configurable as ADObject; if (adobject != null) { base.CurrentOrganizationId = adobject.OrganizationId; } if (base.CurrentObjectIndex == 0) { this.ResolveLocalSecondaryIdentities(); if (base.HasErrors) { return(null); } } TaskLogger.LogExit(); return(configurable); }
protected virtual void WriteResult <T>(IEnumerable <T> dataObjects) where T : IConfigurable { TaskLogger.LogEnter(new object[] { dataObjects }); if (dataObjects != null) { using (IEnumerator <T> enumerator = dataObjects.GetEnumerator()) { bool flag = false; if (!base.Stopping) { if (!this.InternalResultSize.IsUnlimited) { if (this.InternalResultSize.Value < this.matchCount) { goto IL_163; } } try { flag = enumerator.MoveNext(); } finally { base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(base.DataSession)); } base.WriteVerbose(Strings.VerboseWriteResultSize(this.InternalResultSize.ToString())); } IL_163: while (!base.Stopping && (this.InternalResultSize.IsUnlimited || this.InternalResultSize.Value >= this.matchCount) && flag) { if (!this.InternalResultSize.IsUnlimited && this.InternalResultSize.Value == this.matchCount + 1U && this.pageInfo != null && this.pageInfo.MorePagesAvailable != null && this.pageInfo.MorePagesAvailable.Value) { this.WriteResult(enumerator.Current); } IConfigurable dataObject = enumerator.Current; this.WriteResult(dataObject); if (!base.Stopping && (this.InternalResultSize.IsUnlimited || this.InternalResultSize.Value >= this.matchCount)) { if (this.pageInfo != null) { this.AdjustPageSize(this.pageInfo); } flag = enumerator.MoveNext(); } } } } TaskLogger.LogExit(); }
// Token: 0x060003DF RID: 991 RVA: 0x0000E768 File Offset: 0x0000C968 protected override void WriteResult(IConfigurable dataObject) { TaskLogger.LogEnter(); IDirectorySession directorySession = base.DataSession as IDirectorySession; IConfigurable configurable = dataObject; if (this.ReadFromDomainController.IsPresent && directorySession != null && directorySession.UseGlobalCatalog) { try { directorySession.UseGlobalCatalog = false; base.WriteVerbose(Strings.VerboseRereadADObject(dataObject.Identity.ToString(), typeof(TDataObject).Name, ((ADObjectId)dataObject.Identity).ToDNString())); configurable = base.DataSession.Read <TDataObject>(dataObject.Identity); base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(base.DataSession)); } finally { directorySession.UseGlobalCatalog = true; } } ADRecipient adrecipient = configurable as ADRecipient; if (adrecipient != null) { adrecipient.PopulateAcceptMessagesOnlyFromSendersOrMembers(); adrecipient.PopulateBypassModerationFromSendersOrMembers(); adrecipient.PopulateRejectMessagesFromSendersOrMembers(); GetRecipientObjectTask <TIdentity, TDataObject> .SanitizeMailTips(adrecipient); } if (configurable == null) { base.WriteVerbose(Strings.VerboseFailedToReadFromDC(dataObject.Identity.ToString(), base.DataSession.Source)); } else if (this.ShouldSkipObject(configurable)) { base.WriteVerbose(Strings.VerboseSkipObject(configurable.Identity.ToString())); } else { IConfigurable configurable2 = this.ConvertDataObjectToPresentationObject(configurable); if (this.ShouldSkipPresentationObject(configurable2)) { base.WriteVerbose(Strings.VerboseSkipObject(configurable.Identity.ToString())); } else { base.WriteResult(configurable2); } } TaskLogger.LogExit(); }
protected IEnumerable <TObject> GetDataObjects <TObject>(IIdentityParameter id, IConfigDataProvider session, ObjectId rootID, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where TObject : IConfigurable, new() { if (id == null) { throw new ArgumentNullException("id"); } notFoundReason = null; base.WriteVerbose(TaskVerboseStringHelper.GetFindByIdParameterVerboseString(id, session ?? this.DataSession, typeof(TObject), rootID)); IEnumerable <TObject> objects; try { objects = id.GetObjects <TObject>(rootID, session ?? this.DataSession, optionalData, out notFoundReason); } finally { base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(session ?? this.DataSession)); } return(objects); }
protected virtual void WriteResult() { object[] array = new object[1]; object[] array2 = array; int num = 0; TDataObject dataObject = this.DataObject; array2[num] = dataObject.Identity; TaskLogger.LogEnter(array); TDataObject dataObject2 = this.DataObject; base.WriteVerbose(TaskVerboseStringHelper.GetReadObjectVerboseString(dataObject2.Identity, base.DataSession, typeof(TDataObject))); IConfigurable configurable = null; try { using (TaskPerformanceData.ReadResult.StartRequestTimer()) { IConfigDataProvider dataSession = base.DataSession; TDataObject dataObject3 = this.DataObject; configurable = dataSession.Read <TDataObject>(dataObject3.Identity); } } finally { base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(base.DataSession)); } if (configurable == null) { TDataObject dataObject4 = this.DataObject; Exception exception = new ManagementObjectNotFoundException(base.GetErrorMessageObjectNotFound(this.ResolveIdentityString(dataObject4.Identity), typeof(TDataObject).ToString(), (base.DataSession != null) ? base.DataSession.Source : null)); ErrorCategory category = (ErrorCategory)1003; TDataObject dataObject5 = this.DataObject; base.WriteError(exception, category, dataObject5.Identity); } using (TaskPerformanceData.WriteResult.StartRequestTimer()) { this.WriteResult(configurable); } TaskLogger.LogExit(); }
// Token: 0x060005D8 RID: 1496 RVA: 0x000163E4 File Offset: 0x000145E4 protected override IConfigurable ResolveDataObject() { TaskLogger.LogEnter(); IConfigurable[] array = null; base.WriteVerbose(TaskVerboseStringHelper.GetFindDataObjectsVerboseString(base.DataSession, typeof(TDataObject), this.InternalFilter, this.RootId, this.DeepSearch)); try { array = base.DataSession.Find <TDataObject>(this.InternalFilter, this.RootId, this.DeepSearch, null); } catch (DataSourceTransientException exception) { base.WriteError(exception, (ErrorCategory)1002, null); } finally { base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(base.DataSession)); } if (array == null) { array = new IConfigurable[0]; } IConfigurable result = null; switch (array.Length) { case 0: base.WriteError(new ManagementObjectNotFoundException(base.GetErrorMessageObjectNotFound(null, typeof(TDataObject).ToString(), (base.DataSession != null) ? base.DataSession.Source : null)), (ErrorCategory)1003, null); break; case 1: result = array[0]; break; default: base.WriteError(new ManagementObjectAmbiguousException(Strings.ExceptionObjectAmbiguous(typeof(TDataObject).ToString())), (ErrorCategory)1003, null); break; } TaskLogger.LogExit(); return(result); }
protected override void InternalProcessRecord() { TaskLogger.LogEnter(new object[] { this.DataObject }); try { base.Validate(this.DataObject); if (base.HasErrors) { return; } TDataObject dataObject = this.DataObject; if (dataObject.Identity != null) { base.WriteVerbose(TaskVerboseStringHelper.GetSaveObjectVerboseString(this.DataObject, base.DataSession, typeof(TDataObject))); } using (TaskPerformanceData.SaveResult.StartRequestTimer()) { base.DataSession.Save(this.DataObject); } } catch (DataSourceTransientException exception) { base.WriteError(exception, (ErrorCategory)1002, null); } finally { TDataObject dataObject2 = this.DataObject; if (dataObject2.Identity != null) { base.WriteVerbose(TaskVerboseStringHelper.GetSourceVerboseString(base.DataSession)); } } TaskLogger.LogExit(); }