protected Inconsistency(RoleType owner, string description, CalendarInconsistencyFlag flag, CalendarValidationContext context) : this() { this.Owner = owner; this.Description = description; this.Flag = flag; this.OwnerIsGroupMailbox = context.IsRoleGroupMailbox(this.Owner); }
private void FailCheck(ConsistencyCheckResult result, CalendarInconsistencyFlag inconsistencyFlag, string propertyName, object expectedValue, object actualValue, ClientIntentFlags?inconsistencyIntent) { PropertyInconsistency propertyInconsistency = PropertyInconsistency.CreateInstance(RoleType.Attendee, inconsistencyFlag, propertyName, expectedValue, actualValue, base.Context); propertyInconsistency.Intent = inconsistencyIntent; this.FailCheck(result, propertyInconsistency); }
private void AddRepairFlags(CalendarInconsistencyFlag flag) { if (!this.ContainsRepairFlag(flag)) { this.repairFlags.Add(flag); this.RepairMode = CalendarRepairType.RepairAndValidate; } }
internal override RumInfo CreateRumInfo(CalendarValidationContext context, IList <Attendee> attendees) { CalendarInconsistencyFlag flag = base.Flag; if (flag == CalendarInconsistencyFlag.ExtraOccurrenceDeletion) { return(MissingAttendeeItemRumInfo.CreateOccurrenceInstance(this.OriginalStartDate, attendees, base.Flag)); } return(base.CreateRumInfo(context, attendees)); }
public void InitializeWithDefaults() { this.daysInWindowForward = 45; this.daysInWindowBackward = 45; foreach (object obj in Enum.GetValues(typeof(CalendarInconsistencyFlag))) { CalendarInconsistencyFlag flag = (CalendarInconsistencyFlag)obj; this.AddRepairFlags(flag); } }
internal override RumInfo CreateRumInfo(CalendarValidationContext context, IList <Attendee> attendees) { CalendarInconsistencyFlag flag = base.Flag; if (flag != CalendarInconsistencyFlag.OrphanedMeeting) { return(MissingAttendeeItemRumInfo.CreateMasterInstance(attendees, base.Flag, this.DeletedItemVersion)); } if (context.OppositeRole == RoleType.Organizer && !context.OppositeRoleOrganizerIsValid) { return(NullOpRumInfo.CreateInstance()); } MeetingInquiryAction predictedRepairAction; bool wouldRepair = context.CalendarInstance.WouldTryToRepairIfMissing(context, out predictedRepairAction); return(AttendeeInquiryRumInfo.CreateMasterInstance(wouldRepair, predictedRepairAction)); }
internal override RumInfo CreateRumInfo(CalendarValidationContext context, IList <Attendee> attendees) { CalendarInconsistencyFlag flag = base.Flag; if (flag != CalendarInconsistencyFlag.Cancellation) { return(base.CreateRumInfo(context, attendees)); } bool flag2; if (!bool.TryParse(this.ExpectedValue, out flag2)) { throw new ArgumentException("Expected value for cancellation inconsistency should be Boolean.", "inconsistency.ExpectedValue"); } if (flag2) { return(CancellationRumInfo.CreateMasterInstance(attendees)); } return(UpdateRumInfo.CreateMasterInstance(attendees, base.Flag)); }
private void ProjectInconsistencyFlag(MessageItem message, List <string> projection, HashSet <CalendarInconsistencyGroup> projectedGroups, CalendarInconsistencyFlag flag) { switch (flag) { default: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.None, projectedGroups, projection); return; case CalendarInconsistencyFlag.TimeOverlap: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.StartTime, projectedGroups, projection); this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.EndTime, projectedGroups, projection); return; case CalendarInconsistencyFlag.StartTime: case CalendarInconsistencyFlag.StartTimeZone: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.StartTime, projectedGroups, projection); return; case CalendarInconsistencyFlag.EndTime: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.EndTime, projectedGroups, projection); return; case CalendarInconsistencyFlag.RecurringTimeZone: case CalendarInconsistencyFlag.RecurrenceBlob: case CalendarInconsistencyFlag.RecurrenceAnomaly: case CalendarInconsistencyFlag.RecurringException: case CalendarInconsistencyFlag.ModifiedOccurrenceMatch: case CalendarInconsistencyFlag.MissingOccurrenceDeletion: case CalendarInconsistencyFlag.ExtraOccurrenceDeletion: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.Recurrence, projectedGroups, projection); return; case CalendarInconsistencyFlag.Location: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.Location, projectedGroups, projection); return; case CalendarInconsistencyFlag.Cancellation: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.Cancellation, projectedGroups, projection); return; case CalendarInconsistencyFlag.MissingItem: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.MissingItem, projectedGroups, projection); return; case CalendarInconsistencyFlag.DuplicatedItem: this.ProjectInconsistencyGroup(message, CalendarInconsistencyGroup.Duplicate, projectedGroups, projection); return; } }
private RecurrenceInconsistency(RoleType owner, string description, CalendarInconsistencyFlag flag, RecurrenceInconsistencyType recurrenceInconsistencyType, ExDateTime origstartDate, CalendarValidationContext context) : base(owner, description, flag, context) { this.InconsistencyType = recurrenceInconsistencyType; this.OriginalStartDate = origstartDate; }
public static MissingAttendeeItemRumInfo CreateMasterInstance(IList <Attendee> attendees, CalendarInconsistencyFlag inconsistencyFlag, int?deletedItemVersion) { return(new MissingAttendeeItemRumInfo(null, attendees, inconsistencyFlag, deletedItemVersion)); }
private void FailCheck(ConsistencyCheckResult result, CalendarInconsistencyFlag inconsistencyFlag, string propertyName, object expectedValue, object actualValue) { this.FailCheck(result, inconsistencyFlag, propertyName, expectedValue, actualValue, null); }
private bool MatchesOrganizerItem(ref CalendarItemBase organizerCalendarItem, out CalendarInconsistencyFlag inconsistencyFlag) { inconsistencyFlag = CalendarInconsistencyFlag.None; int appointmentSequenceNumber = organizerCalendarItem.AppointmentSequenceNumber; int valueOrDefault = base.GetValueOrDefault <int>(CalendarItemBaseSchema.AppointmentSequenceNumber, -1); if (valueOrDefault < appointmentSequenceNumber) { inconsistencyFlag = CalendarInconsistencyFlag.VersionInfo; return(false); } ExDateTime startTime = organizerCalendarItem.StartTime; ExDateTime endTime = organizerCalendarItem.EndTime; ExDateTime valueOrDefault2 = base.GetValueOrDefault <ExDateTime>(InternalSchema.StartTime); ExDateTime valueOrDefault3 = base.GetValueOrDefault <ExDateTime>(InternalSchema.EndTime); if (!startTime.Equals(valueOrDefault2)) { inconsistencyFlag = CalendarInconsistencyFlag.StartTime; return(false); } if (!endTime.Equals(valueOrDefault3)) { inconsistencyFlag = CalendarInconsistencyFlag.EndTime; return(false); } string location = organizerCalendarItem.Location; string valueOrDefault4 = base.GetValueOrDefault <string>(InternalSchema.Location, string.Empty); if (!string.Equals(location, valueOrDefault4, StringComparison.OrdinalIgnoreCase)) { inconsistencyFlag = CalendarInconsistencyFlag.Location; return(false); } return(true); }
public static UpdateRumInfo CreateOccurrenceInstance(ExDateTime originalStartTime, IList <Attendee> attendees, CalendarInconsistencyFlag inconsistencyFlag) { return(new UpdateRumInfo(new ExDateTime?(originalStartTime), attendees, inconsistencyFlag)); }
public static UpdateRumInfo CreateMasterInstance(IList <Attendee> attendees, CalendarInconsistencyFlag inconsistencyFlag) { return(new UpdateRumInfo(null, attendees, inconsistencyFlag)); }
protected UpdateRumInfo(ExDateTime?originalStartTime, IList <Attendee> attendees, CalendarInconsistencyFlag inconsistencyFlag) : base(RumType.Update, originalStartTime, attendees) { EnumValidator <CalendarInconsistencyFlag> .ThrowIfInvalid(inconsistencyFlag, "inconsistencyFlag"); this.InconsistencyFlagList = new List <CalendarInconsistencyFlag>(1) { inconsistencyFlag }; }
internal static Inconsistency CreateInstance(RoleType owner, string description, CalendarInconsistencyFlag flag, CalendarValidationContext context) { return(new Inconsistency(owner, description, flag, context)); }
private MissingAttendeeItemRumInfo(ExDateTime?originalStartTime, IList <Attendee> attendees, CalendarInconsistencyFlag inconsistencyFlag, int?deletedItemVersion) : base(originalStartTime, attendees, inconsistencyFlag) { this.DeletedItemVersion = deletedItemVersion; }
internal bool ContainsRepairFlag(CalendarInconsistencyFlag flag) { return(flag == CalendarInconsistencyFlag.None || this.repairFlags.Contains(flag)); }
public new static MissingAttendeeItemRumInfo CreateOccurrenceInstance(ExDateTime originalStartTime, IList <Attendee> attendees, CalendarInconsistencyFlag inconsistencyFlag) { return(new MissingAttendeeItemRumInfo(new ExDateTime?(originalStartTime), attendees, inconsistencyFlag, null)); }
private PropertyInconsistency(RoleType owner, CalendarInconsistencyFlag flag, string propertyName, object expectedValue, object actualValue, CalendarValidationContext context) : base(owner, string.Empty, flag, context) { this.PropertyName = propertyName; this.ExpectedValue = ((expectedValue == null) ? "<NULL>" : expectedValue.ToString()); this.ActualValue = ((actualValue == null) ? "<NULL>" : actualValue.ToString()); }
internal static RecurrenceInconsistency CreateInstance(RoleType owner, string description, CalendarInconsistencyFlag flag, RecurrenceInconsistencyType recurrenceInconsistencyType, ExDateTime origstartDate, CalendarValidationContext context) { return(new RecurrenceInconsistency(owner, description, flag, recurrenceInconsistencyType, origstartDate, context)); }
internal static PropertyInconsistency CreateInstance(RoleType owner, CalendarInconsistencyFlag flag, string propertyName, object expectedValue, object actualValue, CalendarValidationContext context) { return(new PropertyInconsistency(owner, flag, propertyName, expectedValue, actualValue, context)); }
private void FailCheck(ConsistencyCheckResult result, RoleType inconsistentRole, CalendarInconsistencyFlag flag, string fullDescription) { result.Status = CheckStatusType.Failed; result.AddInconsistency(base.Context, Inconsistency.CreateInstance(inconsistentRole, fullDescription, flag, base.Context)); }
protected MissingItemInconsistency(RoleType owner, string description, CalendarInconsistencyFlag flag, CalendarValidationContext context) : base(owner, description, flag, context) { }