internal void Run(MeetingComparisonResult comparisonResult, ref Dictionary <GlobalObjectId, List <Attendee> > organizerRumsSent)
 {
     if (!this.SkipItem(ref organizerRumsSent))
     {
         PrimaryConsistencyCheckChain primaryConsistencyCheckChain = ConsistencyCheckFactory.Instance.CreatePrimaryConsistencyCheckChain(this.context, comparisonResult);
         primaryConsistencyCheckChain.PerformChecks(this.context);
         if (primaryConsistencyCheckChain.ShouldTerminate)
         {
             if (RumFactory.Instance.Policy.RepairMode == CalendarRepairType.ValidateOnly && this.context.BaseItem.CalendarItemType == CalendarItemType.RecurringMaster)
             {
                 RecurrenceBlobsConsistentCheck recurrenceBlobsConsistentCheck = new RecurrenceBlobsConsistentCheck(this.context);
                 ConsistencyCheckResult         consistencyCheckResult         = recurrenceBlobsConsistentCheck.Run();
                 if (consistencyCheckResult.ShouldBeReported)
                 {
                     comparisonResult.AddCheckResult(consistencyCheckResult);
                 }
             }
         }
         else
         {
             ConsistencyCheckChain <ConsistencyCheckResult> consistencyCheckChain = ConsistencyCheckFactory.Instance.CreateGeneralConsistencyCheckChain(this.context, comparisonResult, RumFactory.Instance.Policy.RepairMode == CalendarRepairType.ValidateOnly);
             consistencyCheckChain.PerformChecks();
         }
         if (RumFactory.Instance.Policy.RepairMode == CalendarRepairType.RepairAndValidate && comparisonResult.RepairInfo.SendRums(this.context.BaseItem, ref organizerRumsSent))
         {
             this.NumberOfSuccessfulRepairAttempts += 1L;
         }
     }
 }
Example #2
0
 private void FailCheck(ConsistencyCheckResult result, ExceptionInfo exceptionInfo, DifferencesBetweenBlobAndAttach difference)
 {
     result.Status = CheckStatusType.Failed;
     result.AddInconsistency(base.Context, PropertyInconsistency.CreateInstance(RoleType.Attendee, CalendarInconsistencyFlag.RecurringException, string.Format("Exc{0}", difference), exceptionInfo.OriginalStartTime, RecurrenceBlobsConsistentCheck.GetActualValueOfExceptionalProperty(exceptionInfo, difference), base.Context));
 }