예제 #1
0
        // Token: 0x060007DE RID: 2014 RVA: 0x00039000 File Offset: 0x00037200
        protected bool AreExtendedPropertiesInteresting(string mailboxDisplayName, MailboxInformation mailboxInformation)
        {
            object mailboxProperty  = mailboxInformation.GetMailboxProperty(MailboxSchema.ConsumerSharingCalendarSubscriptionCount);
            object mailboxProperty2 = mailboxInformation.GetMailboxProperty(MailboxSchema.ExternalSharingCalendarSubscriptionCount);
            object mailboxProperty3 = mailboxInformation.GetMailboxProperty(MailboxSchema.InternetCalendarSubscriptionCount);
            object mailboxProperty4 = mailboxInformation.GetMailboxProperty(MailboxSchema.ExternalSharingContactSubscriptionCount);
            bool   flag             = this.IsExtendedPropertyInteresting(mailboxDisplayName, mailboxProperty) || this.IsExtendedPropertyInteresting(mailboxDisplayName, mailboxProperty2) || this.IsExtendedPropertyInteresting(mailboxDisplayName, mailboxProperty3) || this.IsExtendedPropertyInteresting(mailboxDisplayName, mailboxProperty4);
            object mailboxProperty5 = mailboxInformation.GetMailboxProperty(MailboxSchema.MailboxTypeDetail);
            object mailboxProperty6 = mailboxInformation.GetMailboxProperty(MailboxSchema.MailboxMiscFlags);

            if (mailboxProperty6 != null)
            {
                flag = (flag && (MailboxMiscFlags)mailboxProperty6 != MailboxMiscFlags.CreatedByMove);
            }
            CalendarSyncMailboxInterestingLogEntry calendarSyncMailboxInterestingLogEntry = new CalendarSyncMailboxInterestingLogEntry
            {
                MailboxGuid            = mailboxInformation.MailboxGuid,
                IsMailboxInteresting   = flag,
                ConsumerCalendarsCount = ((mailboxProperty == null) ? -1 : ((int)mailboxProperty)),
                ExternalCalendarsCount = ((mailboxProperty2 == null) ? -1 : ((int)mailboxProperty2)),
                InternetCalendarsCount = ((mailboxProperty3 == null) ? -1 : ((int)mailboxProperty3)),
                ExternalContactsCount  = ((mailboxProperty4 == null) ? -1 : ((int)mailboxProperty4)),
                MailboxType            = ((mailboxProperty5 == null) ? StoreMailboxTypeDetail.None : ((StoreMailboxTypeDetail)mailboxProperty5)),
                MailboxFlags           = ((mailboxProperty6 == null) ? MailboxMiscFlags.None : ((MailboxMiscFlags)mailboxProperty6))
            };

            AssistantsLog.LogMailboxInterestingEvent(Guid.Empty, "CalendarSyncAssistant", calendarSyncMailboxInterestingLogEntry.FormatCustomData(), mailboxInformation.MailboxGuid);
            return(flag);
        }
        // Token: 0x06001265 RID: 4709 RVA: 0x00069E50 File Offset: 0x00068050
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            OABGeneratorAssistantType.Tracer.TraceFunction((long)this.GetHashCode(), "OABGeneratorAssistantType.IsMailboxInteresting");
            OABGeneratorAssistantType.Tracer.TraceDebug <string, Guid>((long)this.GetHashCode(), "OABGeneratorAssistantType.IsMailboxInteresting: Processing mailbox {0} ({1})", mailboxInformation.DisplayName, mailboxInformation.MailboxGuid);
            bool   result          = false;
            object mailboxProperty = mailboxInformation.GetMailboxProperty(this.ControlDataPropertyDefinition);

            if (mailboxProperty == null || mailboxProperty is PropertyError)
            {
                OABGeneratorAssistantType.Tracer.TraceDebug((long)this.GetHashCode(), "OABGeneratorAssistantType.IsMailboxInteresting: Control data property is null or property error; mailbox is not interesting");
            }
            else
            {
                ControlData controlData = ControlData.CreateFromByteArray(mailboxProperty as byte[]);
                OABGeneratorAssistantType.Tracer.TraceDebug <DateTime, TimeSpan>((long)this.GetHashCode(), "OABGeneratorAssistantType.IsMailboxInteresting: ControlData.LastProcessedDate = {0}; WorkCycle = {1}", controlData.LastProcessedDate, this.WorkCycle);
                if (DateTime.UtcNow - controlData.LastProcessedDate > TimeSpan.FromTicks(this.WorkCycle.Ticks / 2L))
                {
                    OABGeneratorAssistantType.Tracer.TraceDebug((long)this.GetHashCode(), "OABGeneratorAssistantType.IsMailboxInteresting: mailbox has not been processed within half-workcycle; it is interesting");
                    result = true;
                }
                else
                {
                    OABGeneratorAssistantType.Tracer.TraceDebug((long)this.GetHashCode(), "OABGeneratorAssistantType.IsMailboxInteresting: mailbox has been processed within half-workcycle; it is not interesting");
                    result = false;
                }
            }
            return(result);
        }
 // Token: 0x0600148A RID: 5258 RVA: 0x00076554 File Offset: 0x00074754
 private static string GetDiagnosticsText(MailboxInformation mailboxInformation)
 {
     return(string.Format(CultureInfo.InvariantCulture, "{{ Mailbox Display Name:{0}; Mailbox Guid:{1}; }}", new object[]
     {
         mailboxInformation.DisplayName,
         mailboxInformation.MailboxGuid
     }));
 }
 // Token: 0x06000EE7 RID: 3815 RVA: 0x000587BC File Offset: 0x000569BC
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     if (!mailboxInformation.IsPublicFolderMailbox())
     {
         PublicFolderAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "[{0}]: mailbox isn't a public folder mailbox. No need to process this mailbox.", mailboxInformation.MailboxGuid);
         return(false);
     }
     PublicFolderAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "[{0}]: Public folder mailbox needs to process. Adding it to the list of mailboxes to process.", mailboxInformation.MailboxGuid);
     return(true);
 }
예제 #5
0
        // Token: 0x06001542 RID: 5442 RVA: 0x000794E0 File Offset: 0x000776E0
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            MailboxAssociationReplicationAssistantType.Tracer.TraceFunction((long)this.GetHashCode(), "MailboxAssociationReplicationAssistantType.IsMailboxInteresting");
            if (!mailboxInformation.IsGroupMailbox())
            {
                MailboxAssociationReplicationAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "[{0}]: mailbox is not a group mailbox. No need to process it.", mailboxInformation.MailboxGuid);
                return(false);
            }
            DateTime?nextReplicationTime = mailboxInformation.GetMailboxProperty(MailboxSchema.MailboxAssociationNextReplicationTime) as DateTime?;

            return(MailboxAssociationReplicationAssistantType.IsMailboxNextSyncTimeDue(nextReplicationTime, mailboxInformation.MailboxGuid));
        }
 // Token: 0x06001487 RID: 5255 RVA: 0x0007649C File Offset: 0x0007469C
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     ArgumentValidator.ThrowIfNull("mailboxInformation", mailboxInformation);
     return(this.isInterestingProcessor.IsInteresting(new MailboxProcessorRequest
     {
         LastLogonTime = new DateTime?(mailboxInformation.LastLogonTime),
         IsPublicFolderMailbox = mailboxInformation.IsPublicFolderMailbox(),
         IsGroupMailbox = mailboxInformation.IsGroupMailbox(),
         IsSharedMailbox = mailboxInformation.IsSharedMailbox(),
         IsTeamSiteMailbox = mailboxInformation.IsTeamSiteMailbox(),
         DiagnosticsText = PeopleCentricTriageAssistantType.GetDiagnosticsText(mailboxInformation)
     }, DateTime.UtcNow));
 }
예제 #7
0
        // Token: 0x06001526 RID: 5414 RVA: 0x00078CA0 File Offset: 0x00076EA0
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            GroupMailboxAssistantType.Tracer.TraceFunction((long)this.GetHashCode(), "GroupMailboxAssistantType.IsMailboxInteresting");
            if (!mailboxInformation.IsGroupMailbox())
            {
                GroupMailboxAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "[{0}]: mailbox is a not group mailbox.", mailboxInformation.MailboxGuid);
                return(false);
            }
            int?num          = mailboxInformation.GetMailboxProperty(MailboxSchema.GroupMailboxPermissionsVersion) as int?;
            int?photoVersion = mailboxInformation.GetMailboxProperty(MailboxSchema.GroupMailboxGeneratedPhotoVersion) as int?;

            mailboxInformation.GetMailboxProperty(MailboxSchema.GroupMailboxExchangeResourcesPublishedVersion);
            return(GroupMailboxAssistantType.IsGroupMailboxGeneratedPhotoOutdated(photoVersion, mailboxInformation.MailboxGuid) || GroupMailboxAssistantType.IsGroupMailboxPermissionsVersionOutdated(num, mailboxInformation.MailboxGuid) || GroupMailboxAssistantType.IsGroupMailboxExchangeResourcesVersionOutdated(num, mailboxInformation.MailboxGuid));
        }
 // Token: 0x06000E3E RID: 3646 RVA: 0x00055850 File Offset: 0x00053A50
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     if (mailboxInformation.IsPublicFolderMailbox() || mailboxInformation.IsGroupMailbox())
     {
         return(false);
     }
     if (!CalendarUpgrade.IsMailboxActive(new ExDateTime?(new ExDateTime(ExTimeZone.UtcTimeZone, mailboxInformation.LastLogonTime.ToUniversalTime()))))
     {
         SharingPolicyAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "{0}: mailbox is inactive hence skipping it.", mailboxInformation.MailboxGuid);
         return(false);
     }
     SharingPolicyAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "{0}: mailbox is not GroupMailbox/PublicFolderMailbox and is active too. Adding to the list of mailboxes to process.", mailboxInformation.MailboxGuid);
     return(true);
 }
예제 #9
0
 // Token: 0x06000E20 RID: 3616 RVA: 0x00055444 File Offset: 0x00053644
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     if (!mailboxInformation.IsUserMailbox() && !mailboxInformation.IsGroupMailbox())
     {
         CalendarRepairAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "CalendarRepairAssistant Mailbox guid {0}: Not group or user mailbox", mailboxInformation.MailboxGuid);
         return(false);
     }
     if (!CalendarUpgrade.IsMailboxActive(new ExDateTime?(new ExDateTime(ExTimeZone.UtcTimeZone, mailboxInformation.LastLogonTime.ToUniversalTime()))))
     {
         CalendarRepairAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "CalendarRepairAssistant Mailbox guid {0}: Inactive mailbox", mailboxInformation.MailboxGuid);
         return(false);
     }
     CalendarRepairAssistantType.Tracer.TraceDebug <Guid>((long)this.GetHashCode(), "CalendarRepairAssistant Mailbox guid {0}: Interesting mailbox", mailboxInformation.MailboxGuid);
     return(true);
 }
예제 #10
0
        // Token: 0x06000F99 RID: 3993 RVA: 0x0005C464 File Offset: 0x0005A664
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            if (mailboxInformation.IsPublicFolderMailbox())
            {
                return(false);
            }
            object mailboxProperty = mailboxInformation.GetMailboxProperty(MailboxSchema.IsTopNEnabled);

            if (mailboxProperty == null || !(bool)mailboxProperty)
            {
                TopNAssistantType.Tracer.TraceDebug <string, string>((long)this.GetHashCode(), "Mailbox with Display name {0} has IsTopNEnabled extended property {1}.", mailboxInformation.DisplayName, (mailboxProperty == null) ? "not set" : "false");
                return(false);
            }
            TopNAssistantType.Tracer.TraceDebug <string>((long)this.GetHashCode(), "Mailbox with Display name {0} has IsTopNEnabled extended property set to true.", mailboxInformation.DisplayName);
            return(true);
        }
예제 #11
0
        // Token: 0x06000B60 RID: 2912 RVA: 0x00049420 File Offset: 0x00047620
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            if (mailboxInformation.IsPublicFolderMailbox())
            {
                return(false);
            }
            object mailboxProperty = mailboxInformation.GetMailboxProperty(MailboxSchema.JunkEmailSafeListDirty);

            if (mailboxProperty == null || (int)mailboxProperty < 1)
            {
                JunkEmailOptionsCommiterAssistantType.Tracer.TraceDebug <string>((long)this.GetHashCode(), "Mailbox {0} is not interesting.  Either doesn't have JunkEmailSafeListDirty or number of attempts is zero.", mailboxInformation.DisplayName);
                return(false);
            }
            JunkEmailOptionsCommiterAssistantType.Tracer.TraceDebug <string>((long)this.GetHashCode(), "Mailbox {0} is interesting.", mailboxInformation.DisplayName);
            return(true);
        }
        // Token: 0x06000239 RID: 569 RVA: 0x0000DD84 File Offset: 0x0000BF84
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            if (mailboxInformation.IsPublicFolderMailbox())
            {
                return(false);
            }
            if (VariantConfiguration.InvariantNoFlightingSnapshot.MailboxAssistants.ElcAssistantAlwaysProcessMailbox.Enabled)
            {
                return(true);
            }
            object mailboxProperty = mailboxInformation.GetMailboxProperty((PropertyTagPropertyDefinition)StoreObjectSchema.RetentionFlags);

            if (mailboxProperty != null && mailboxProperty is int && (RetentionAndArchiveFlags)mailboxProperty == RetentionAndArchiveFlags.EHAMigration)
            {
                ELCAssistantType.Tracer.TraceDebug <string>((long)this.GetHashCode(), "Mailbox with Display name {0} is an eha migration mailbox, ELC is processing it.", mailboxInformation.DisplayName);
                return(true);
            }
            object mailboxProperty2 = mailboxInformation.GetMailboxProperty(MailboxSchema.QuotaUsedExtended);

            if (mailboxProperty2 == null)
            {
                return(true);
            }
            object mailboxProperty3 = mailboxInformation.GetMailboxProperty(MailboxSchema.DumpsterQuotaUsedExtended);
            long   num  = (long)mailboxProperty2;
            long   num2 = (mailboxProperty3 == null) ? 0L : ((long)mailboxProperty3);
            long   num3 = num + num2;

            if (num3 >= this.minMailboxSizeInBytesToProcess)
            {
                ELCAssistantType.Tracer.TraceDebug <string, long, long>((long)this.GetHashCode(), "Mailbox with Display name {0} has size {1} bytes which is equal or bigger than {2} bytes, processing it.", mailboxInformation.DisplayName, num3, this.minMailboxSizeInBytesToProcess);
                return(true);
            }
            ELCAssistantType.Tracer.TraceDebug <string, long, long>((long)this.GetHashCode(), "Mailbox with Display name {0} has size {1} bytes which is smaller than {2} bytes, skip processing it.", mailboxInformation.DisplayName, num3, this.minMailboxSizeInBytesToProcess);
            Globals.Logger.LogEvent(InfoWorkerEventLogConstants.Tuple_ELCSkipProcessingMailbox, null, new object[]
            {
                mailboxInformation.DisplayName,
                num3,
                this.minMailboxSizeInBytesToProcess
            });
            EventNotificationItem.Publish(ExchangeComponent.Elc.Name, "ELC.MailboxSizeSkipped", null, string.Format("Mailbox with Display name {0} has size {1} bytes which is smaller than {2} bytes, skip processing it.", mailboxInformation.DisplayName, num3, this.minMailboxSizeInBytesToProcess), ResultSeverityLevel.Warning, false);
            return(false);
        }
        // Token: 0x060015B4 RID: 5556 RVA: 0x0007A9E4 File Offset: 0x00078BE4
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            this.TraceDebugExecuting(ExTraceGlobals.ProbeTimeBasedAssistantTracer.IsTraceEnabled(TraceType.DebugTrace) ? MethodBase.GetCurrentMethod().Name : string.Empty);
            bool result       = false;
            Guid databaseGuid = mailboxInformation.MailboxData.DatabaseGuid;

            if (!ProbeTimeBasedAssistantType.numberOfInterestingMailboxes.ContainsKey(databaseGuid) && !ProbeTimeBasedAssistantType.numberOfInterestingMailboxes.TryAdd(databaseGuid, 0))
            {
                return(false);
            }
            if (ProbeTimeBasedAssistantType.numberOfInterestingMailboxes[databaseGuid] < ProbeTimeBasedAssistantType.maxNumberOfInterestingMailboxes)
            {
                result = true;
                ConcurrentDictionary <Guid, int> concurrentDictionary;
                Guid key;
                (concurrentDictionary = ProbeTimeBasedAssistantType.numberOfInterestingMailboxes)[key = databaseGuid] = concurrentDictionary[key] + 1;
            }
            return(result);
        }
예제 #14
0
        // Token: 0x060011A5 RID: 4517 RVA: 0x000674C4 File Offset: 0x000656C4
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            bool     flag      = true;
            string   text      = null;
            DateTime?dateTime  = mailboxInformation.GetMailboxProperty(MailboxSchema.InferenceTrainingLastAttemptTimestamp) as DateTime?;
            DateTime?dateTime2 = mailboxInformation.GetMailboxProperty(MailboxSchema.InferenceTrainingLastSuccessTimestamp) as DateTime?;
            DateTime?dateTime3 = mailboxInformation.GetMailboxProperty(MailboxSchema.InferenceTruthLoggingLastAttemptTimestamp) as DateTime?;
            DateTime?dateTime4 = mailboxInformation.GetMailboxProperty(MailboxSchema.InferenceTruthLoggingLastSuccessTimestamp) as DateTime?;

            if (InferenceCommonUtility.IsNonUserMailbox(mailboxInformation.DisplayName))
            {
                text = string.Format("Reason=NonUserMailbox#Name={0}", mailboxInformation.DisplayName);
                flag = false;
            }
            if (flag && dateTime == null)
            {
                int?num = mailboxInformation.GetMailboxProperty(MailboxSchema.ItemCount) as int?;
                if (num != null && num < this.trainingConfiguration.MinNumberOfItemsForRetrospectiveTraining)
                {
                    text = string.Format("Reason=LowItemCount#ItemCount={0}#Threshold={1}", num, this.trainingConfiguration.MinNumberOfItemsForRetrospectiveTraining);
                    flag = false;
                }
            }
            if (flag)
            {
                string text2 = string.Format("ControlDataLastProcessedTime={0}", mailboxInformation.LastProcessedDate);
                this.trainingStatusLogger.LogStatus(mailboxInformation.MailboxGuid, 0, null, dateTime, dateTime2, text2);
                this.truthLabelsStatusLogger.LogStatus(mailboxInformation.MailboxGuid, 0, null, dateTime3, dateTime4, text2);
                this.groupingModelTrainingStatusLogger.LogStatus(mailboxInformation.MailboxGuid, 0, text2);
            }
            else
            {
                this.trainingStatusLogger.LogStatus(mailboxInformation.MailboxGuid, 4, new DateTime?(DateTime.UtcNow), null, null, text);
                this.truthLabelsStatusLogger.LogStatus(mailboxInformation.MailboxGuid, 4, new DateTime?(DateTime.UtcNow), null, null, text);
                this.groupingModelTrainingStatusLogger.LogStatus(mailboxInformation.MailboxGuid, 4, text);
            }
            return(flag);
        }
예제 #15
0
        // Token: 0x06001182 RID: 4482 RVA: 0x000665E0 File Offset: 0x000647E0
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            if (mailboxInformation.IsPublicFolderMailbox())
            {
                return(false);
            }
            object mailboxProperty = mailboxInformation.GetMailboxProperty(MailboxSchema.HasUMReportData);

            if (mailboxProperty == null || !(bool)mailboxProperty)
            {
                CallIdTracer.TraceDebug(UMReportingAssistantType.Tracer, this.GetHashCode(), "Mailbox with Display name {0} has UM extended property {1}.", new object[]
                {
                    mailboxInformation.DisplayName,
                    (mailboxProperty == null) ? "not set" : "false"
                });
                return(false);
            }
            CallIdTracer.TraceDebug(UMReportingAssistantType.Tracer, this.GetHashCode(), "Mailbox with Display name {0} has UM extended property set to true.", new object[]
            {
                mailboxInformation.DisplayName
            });
            return(true);
        }
        // Token: 0x060014DA RID: 5338 RVA: 0x00077B10 File Offset: 0x00075D10
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            if (Interlocked.Read(ref this.MaxNumberOfInterestingMailboxesForWorkCycleCheckpoint) == -1L)
            {
                this.CalculateMaxNumberOfInterestingMailboxesInWorkCycle();
            }
            bool flag = mailboxInformation.LastLogonTime <= DateTime.UtcNow - SharePointSignalStoreAssistantType.AllowedInactivity;

            if (flag)
            {
                return(false);
            }
            object mailboxProperty = mailboxInformation.GetMailboxProperty(this.ControlDataPropertyDefinition);
            bool   flag2           = mailboxProperty == null || mailboxProperty is PropertyError;

            if (flag2)
            {
                Interlocked.Increment(ref this.NumberOfInterestingMailboxesForWorkCycleCheckpoint);
                return(true);
            }
            ControlData controlData = ControlData.CreateFromByteArray(mailboxProperty as byte[]);
            bool        flag3       = DateTime.UtcNow - controlData.LastProcessedDate <= this.WorkCycle - this.WorkCycleCheckpoint;

            if (flag3)
            {
                return(false);
            }
            bool flag4 = Interlocked.Read(ref this.NumberOfInterestingMailboxesForWorkCycleCheckpoint) >= Interlocked.Read(ref this.MaxNumberOfInterestingMailboxesForWorkCycleCheckpoint);

            if (flag4)
            {
                return(false);
            }
            Interlocked.Increment(ref this.NumberOfInterestingMailboxesForWorkCycleCheckpoint);
            return(true);
        }
예제 #17
0
 // Token: 0x060007D4 RID: 2004 RVA: 0x00038D00 File Offset: 0x00036F00
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     CalendarSyncAssistantHelper.Tracer.TraceDebug <object, string>((long)this.GetHashCode(), "{0}: CalendarSyncAssistantHelper.IsMailboxInteresting: called for mailbox {1}.", TraceContext.Get(), mailboxInformation.DisplayName);
     return(!mailboxInformation.IsPublicFolderMailbox() && this.AreExtendedPropertiesInteresting(mailboxInformation.DisplayName, mailboxInformation));
 }
예제 #18
0
        // Token: 0x0600146A RID: 5226 RVA: 0x00075DC0 File Offset: 0x00073FC0
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            InferenceDataCollectionAssistantType.tracer.TraceFunction((long)this.GetHashCode(), "InferenceDataCollectionAssistantType.IsMailboxInteresting");
            if (InferenceCommonUtility.IsNonUserMailbox(mailboxInformation.DisplayName))
            {
                this.diagnosticLogger.LogDebug("Skipping mailbox with guid {0} and display name {1} since it is identified as a non-user mailbox.", new object[]
                {
                    mailboxInformation.MailboxGuid,
                    mailboxInformation.DisplayName
                });
                return(false);
            }
            if (this.collectionContext.Configuration.IsOutputSanitized)
            {
                if (!this.collectionContext.HashProvider.IsInitialized && !this.hashProviderInitializeAttemptedInWorkcycle)
                {
                    try
                    {
                        bool flag = this.collectionContext.HashProvider.Initialize();
                        this.diagnosticLogger.LogDebug("Hash provider initialization success = {0}", new object[]
                        {
                            flag
                        });
                    }
                    catch (Exception ex)
                    {
                        this.diagnosticLogger.LogDebug("Hash provider initialization failed with exception {0}", new object[]
                        {
                            ex.ToString()
                        });
                    }
                    this.hashProviderInitializeAttemptedInWorkcycle = true;
                }
                if (!this.collectionContext.HashProvider.IsInitialized)
                {
                    this.diagnosticLogger.LogDebug("Skipping mailbox with guid {0} and display name {1} as the hash provider is not initialized.", new object[]
                    {
                        mailboxInformation.MailboxGuid,
                        mailboxInformation.DisplayName
                    });
                    return(false);
                }
            }
            object mailboxProperty = mailboxInformation.GetMailboxProperty(MailboxSchema.InferenceDataCollectionProcessingState);

            if (mailboxProperty != null)
            {
                byte[]     array = mailboxProperty as byte[];
                ExDateTime t     = new ExDateTime(ExTimeZone.UtcTimeZone, mailboxInformation.LastProcessedDate).Add(this.config.MailboxReprocessAge);
                if (array[0] == 1 && ExDateTime.UtcNow < t)
                {
                    this.diagnosticLogger.LogDebug("Skipping mailbox with guid {0} and display name {1} since it reached {2} collection state on {3}", new object[]
                    {
                        mailboxInformation.MailboxGuid,
                        mailboxInformation.DisplayName,
                        (InferenceDataCollectionAssistantType.DataCollectionProcessingState)array[0],
                        mailboxInformation.LastProcessedDate
                    });
                    return(false);
                }
            }
            mailboxProperty = mailboxInformation.GetMailboxProperty(MailboxSchema.ItemCount);
            if (mailboxProperty != null && (int)mailboxProperty > this.config.MinimumItemCountInMailbox)
            {
                int  num   = InferenceDataCollectionAssistantType.IsGroupMailbox(mailboxInformation) ? this.config.ModuloNumberToRandomizeForGroups : this.config.ModuloNumberToRandomize;
                int  num2  = this.randomizer.Next(1, int.MaxValue);
                bool flag2 = num2 % num == 0;
                this.diagnosticLogger.LogDebug("{0} mailbox with guid {1} and display name {2} based on random selection (random number = {3}, modulo arithmetic number = {4})", new object[]
                {
                    flag2 ? "Picking" : "Skipping",
                    mailboxInformation.MailboxGuid,
                    mailboxInformation.DisplayName,
                    num2,
                    this.config.ModuloNumberToRandomize
                });
                return(flag2);
            }
            this.diagnosticLogger.LogDebug("Skipping mailbox with guid {0} and display name {1} since ContentCount property value {2} is less than the required minimum {3}", new object[]
            {
                mailboxInformation.MailboxGuid,
                mailboxInformation.DisplayName,
                (mailboxProperty != null) ? ((int)mailboxProperty) : -1,
                this.config.MinimumItemCountInMailbox
            });
            return(false);
        }
 // Token: 0x0600159A RID: 5530 RVA: 0x0007A71F File Offset: 0x0007891F
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     return(true);
 }
 // Token: 0x060007F5 RID: 2037 RVA: 0x00039735 File Offset: 0x00037935
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     return(this.CalendarSyncAssistantHelper.IsMailboxInteresting(mailboxInformation));
 }
        // Token: 0x06001511 RID: 5393 RVA: 0x000787FC File Offset: 0x000769FC
        public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
        {
            StoreMailboxTypeDetail storeMailboxTypeDetail = (StoreMailboxTypeDetail)mailboxInformation.GetMailboxProperty(MailboxSchema.MailboxTypeDetail);

            return(storeMailboxTypeDetail == StoreMailboxTypeDetail.TeamMailbox);
        }
 // Token: 0x06001495 RID: 5269 RVA: 0x000765EA File Offset: 0x000747EA
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     PeopleRelevanceAssistantType.Tracer.TraceFunction((long)this.GetHashCode(), "PeopleRelevanceAssistantType.IsMailboxInteresting");
     return(mailboxInformation.LastLogonTime > DateTime.UtcNow - PeopleRelevanceAssistantType.AllowedInactivity);
 }
 // Token: 0x06000FE1 RID: 4065 RVA: 0x0005D7AD File Offset: 0x0005B9AD
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     return(mailboxInformation.Active);
 }
예제 #24
0
 // Token: 0x0600146D RID: 5229 RVA: 0x00076135 File Offset: 0x00074335
 private static bool IsGroupMailbox(MailboxInformation mailboxInformation)
 {
     return(mailboxInformation.IsSharedMailbox() || mailboxInformation.IsGroupMailbox() || mailboxInformation.IsTeamSiteMailbox());
 }
 // Token: 0x060016C3 RID: 5827 RVA: 0x00080625 File Offset: 0x0007E825
 public bool IsMailboxInteresting(MailboxInformation mailboxInformation)
 {
     return(mailboxInformation.DisplayName == "Microsoft Exchange");
 }