private void SetSkipMergingAndInternalFlags(TransactionalRequestJob dataObject) { RequestTaskHelper.SetSkipMerging(this.SkipMerging, dataObject, new Task.TaskErrorLoggingDelegate(base.WriteError)); RequestTaskHelper.SetInternalFlags(this.InternalFlags, dataObject, new Task.TaskErrorLoggingDelegate(base.WriteError)); if (this.SkipMerging == null) { using (SettingsContextBase.ActivateContext(dataObject)) { dataObject.SkipKnownCorruptions = ConfigBase <MRSConfigSchema> .GetConfig <bool>("SkipKnownCorruptionsDefault"); } } }
protected override void ModifyRequest(TransactionalRequestJob requestJob) { this.MdbGuid = requestJob.WorkItemQueueMdb.ObjectGuid; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("SetRequest changed values:"); if (requestJob.TargetUser != null) { requestJob.DomainControllerToUpdate = requestJob.TargetUser.OriginatingServer; } else if (requestJob.SourceUser != null) { requestJob.DomainControllerToUpdate = requestJob.SourceUser.OriginatingServer; } if (base.IsFieldSet("BadItemLimit")) { stringBuilder.AppendLine(string.Format("BadItemLimit: {0} -> {1}", requestJob.BadItemLimit, this.BadItemLimit)); requestJob.BadItemLimit = this.BadItemLimit; } if (base.IsFieldSet("LargeItemLimit")) { stringBuilder.AppendLine(string.Format("LargeItemLimit: {0} -> {1}", requestJob.LargeItemLimit, this.LargeItemLimit)); requestJob.LargeItemLimit = this.LargeItemLimit; } if (base.IsFieldSet("BatchName")) { stringBuilder.AppendLine(string.Format("BatchName: {0} -> {1}", requestJob.BatchName, this.BatchName)); requestJob.BatchName = (this.BatchName ?? string.Empty); } if (base.IsFieldSet("Priority")) { stringBuilder.AppendLine(string.Format("Priority: {0} -> {1}", requestJob.Priority, this.Priority)); requestJob.Priority = this.Priority; } if (base.IsFieldSet("CompletedRequestAgeLimit")) { stringBuilder.AppendLine(string.Format("CompletedRequestAgeLimit: {0} -> {1}", requestJob.CompletedRequestAgeLimit, this.CompletedRequestAgeLimit)); requestJob.CompletedRequestAgeLimit = this.CompletedRequestAgeLimit; } if (this.RehomeRequest) { stringBuilder.AppendLine(string.Format("RehomeRequest: {0} -> {1}", requestJob.RehomeRequest, this.RehomeRequest)); requestJob.RehomeRequest = this.RehomeRequest; } if (base.IsFieldSet("SkipMerging")) { RequestJobInternalFlags requestJobInternalFlags = requestJob.RequestJobInternalFlags; RequestTaskHelper.SetSkipMerging(this.SkipMerging, requestJob, new Task.TaskErrorLoggingDelegate(base.WriteError)); stringBuilder.AppendLine(string.Format("InternalFlags: {0} -> {1}", requestJobInternalFlags, requestJob.RequestJobInternalFlags)); } if (base.IsFieldSet("InternalFlags")) { RequestJobInternalFlags requestJobInternalFlags2 = requestJob.RequestJobInternalFlags; RequestTaskHelper.SetInternalFlags(this.InternalFlags, requestJob, new Task.TaskErrorLoggingDelegate(base.WriteError)); stringBuilder.AppendLine(string.Format("InternalFlags: {0} -> {1}", requestJobInternalFlags2, requestJob.RequestJobInternalFlags)); } if (base.IsFieldSet("RemoteHostName")) { stringBuilder.AppendLine(string.Format("RemoteHostName: {0} -> {1}", requestJob.RemoteHostName, this.RemoteHostName)); requestJob.RemoteHostName = this.RemoteHostName; } if (base.IsFieldSet("RemoteCredential")) { stringBuilder.AppendLine(string.Format("RemoteCredential: * -> *", new object[0])); requestJob.RemoteCredential = RequestTaskHelper.GetNetworkCredential(this.RemoteCredential, new AuthenticationMethod?(AuthenticationMethod.WindowsIntegrated)); } this.ModifyRequestInternal(requestJob, stringBuilder); ReportData reportData = new ReportData(requestJob.RequestGuid, requestJob.ReportVersion); ConnectivityRec connectivityRec = new ConnectivityRec(ServerKind.Cmdlet, VersionInformation.MRS); reportData.Append(MrsStrings.ReportRequestSet(base.ExecutingUserIdentity), connectivityRec); reportData.AppendDebug(stringBuilder.ToString()); if (this.AcceptLargeDataLoss) { reportData.Append(MrsStrings.ReportLargeAmountOfDataLossAccepted2(requestJob.BadItemLimit.ToString(), requestJob.LargeItemLimit.ToString(), base.ExecutingUserIdentity)); } reportData.Flush(base.RJProvider.SystemMailbox); }