// Token: 0x0600004F RID: 79 RVA: 0x0000422C File Offset: 0x0000242C public static void Drop(Breadcrumbs <SubmissionRecord.Success> successHistory, Breadcrumbs <SubmissionRecord.Failure> failureHistory, object submissionData, MailSubmissionResult result) { if (result.ErrorCode == 0U) { successHistory.Drop(new SubmissionRecord.Success(submissionData, result.Sender, result.MessageId, result.Subject)); return; } failureHistory.Drop(new SubmissionRecord.Failure(submissionData, HResult.GetStringForErrorCode(result.ErrorCode), result.DiagnosticInfo)); }
// Token: 0x06000361 RID: 865 RVA: 0x00012710 File Offset: 0x00010910 public static void ReadConfigurationPaged <T>(ADConfigurationReader <ADPagedReader <T> > configurationReader, ADConfigurationProcessor <T> configurationProcessor, int retryCount) where T : IConfigurable, new() { if (configurationProcessor == null) { throw new ArgumentNullException("configurationProcessor"); } ADPagedReader <T> pagedReader = ADNotificationAdapter.ReadConfiguration <ADPagedReader <T> >(configurationReader, retryCount); IEnumerator <T> enumerator = null; ADNotificationAdapter.RunADOperation(delegate() { enumerator = pagedReader.GetEnumerator(); }, retryCount); Breadcrumbs <Exception> exceptions = new Breadcrumbs <Exception>(32); try { for (;;) { bool hasMore = false; ADNotificationAdapter.RunADOperation(delegate() { try { hasMore = enumerator.MoveNext(); } catch (Exception bc) { exceptions.Drop(bc); enumerator.Dispose(); enumerator = pagedReader.GetEnumerator(); throw; } }, retryCount); if (!hasMore) { break; } configurationProcessor(enumerator.Current); } } finally { enumerator.Dispose(); } }
// Token: 0x06000364 RID: 868 RVA: 0x00012880 File Offset: 0x00010A80 public static bool TryReadConfigurationPaged <T>(ADConfigurationReader <ADPagedReader <T> > configurationReader, ADConfigurationProcessor <T> configurationProcessor, int retryCount, out ADOperationResult operationStatus) where T : IConfigurable, new() { if (configurationProcessor == null) { throw new ArgumentNullException("configurationProcessor"); } ADPagedReader <T> pagedReader; if (!ADNotificationAdapter.TryReadConfiguration <ADPagedReader <T> >(configurationReader, out pagedReader, retryCount, out operationStatus)) { return(false); } IEnumerator <T> enumerator = null; operationStatus = ADNotificationAdapter.TryRunADOperation(delegate() { enumerator = pagedReader.GetEnumerator(); }, retryCount); if (!operationStatus.Succeeded) { return(false); } Breadcrumbs <Exception> exceptions = new Breadcrumbs <Exception>(32); try { for (;;) { bool hasMore = false; operationStatus = ADNotificationAdapter.TryRunADOperation(delegate() { try { hasMore = enumerator.MoveNext(); } catch (Exception bc) { exceptions.Drop(bc); enumerator.Dispose(); enumerator = pagedReader.GetEnumerator(); throw; } }, retryCount); if (!operationStatus.Succeeded) { break; } if (!hasMore) { goto IL_AB; } configurationProcessor(enumerator.Current); } return(false); IL_AB :; } finally { enumerator.Dispose(); } return(true); }