internal RumInfo CreateRumInfo(CalendarValidationContext context, Inconsistency inconsistency) { this.CheckInitialized(); if (context == null) { throw new ArgumentNullException("context"); } if (inconsistency == null) { throw new ArgumentNullException("inconsistency"); } if (this.ShouldSendRum(context, inconsistency)) { IList <Attendee> list = new List <Attendee>(1); if (context.BaseRole == RoleType.Organizer && context.Attendee != null) { if (context.Attendee.Attendee == null) { context.Attendee.Attendee = context.OrganizerItem.AttendeeCollection.Add(context.Attendee.Participant, AttendeeType.Required, null, null, false); } list.Add(context.Attendee.Attendee); } RumInfo rumInfo = inconsistency.CreateRumInfo(context, list); if (!rumInfo.IsNullOp && rumInfo is OrganizerRumInfo && context.AttendeeItem != null) { ((OrganizerRumInfo)rumInfo).AttendeeRequiredSequenceNumber = context.AttendeeItem.AppointmentSequenceNumber; } return(rumInfo); } return(NullOpRumInfo.CreateInstance()); }
internal virtual RumInfo CreateRumInfo(CalendarValidationContext context, IList <Attendee> attendees) { switch (this.Flag) { case CalendarInconsistencyFlag.None: case CalendarInconsistencyFlag.StoreObjectValidation: case CalendarInconsistencyFlag.StorageException: case CalendarInconsistencyFlag.UserNotFound: case CalendarInconsistencyFlag.LegacyUser: case CalendarInconsistencyFlag.LargeDL: case CalendarInconsistencyFlag.RecurrenceAnomaly: case CalendarInconsistencyFlag.RecurringException: case CalendarInconsistencyFlag.ModifiedOccurrenceMatch: case CalendarInconsistencyFlag.DuplicatedItem: case CalendarInconsistencyFlag.MissingCvs: return(NullOpRumInfo.CreateInstance()); case CalendarInconsistencyFlag.VersionInfo: case CalendarInconsistencyFlag.TimeOverlap: case CalendarInconsistencyFlag.StartTime: case CalendarInconsistencyFlag.EndTime: case CalendarInconsistencyFlag.StartTimeZone: case CalendarInconsistencyFlag.RecurringTimeZone: case CalendarInconsistencyFlag.Location: case CalendarInconsistencyFlag.RecurrenceBlob: case CalendarInconsistencyFlag.MissingOccurrenceDeletion: return(UpdateRumInfo.CreateMasterInstance(attendees, this.Flag)); } throw new NotImplementedException(string.Format("Unrecognized inconsistency: {0}", this.Flag)); }
internal static RepairSteps CreateInstance() { RepairSteps repairSteps = new RepairSteps(); repairSteps.Initialize(NullOpRumInfo.CreateInstance(), new Dictionary <ExDateTime, RumInfo>()); return(repairSteps); }
internal override RumInfo CreateRumInfo(CalendarValidationContext context, IList <Attendee> attendees) { if (this.AttendeeReplyTime.Equals(ExDateTime.MinValue)) { return(NullOpRumInfo.CreateInstance()); } switch (this.ExpectedResponse) { default: return(NullOpRumInfo.CreateInstance()); case ResponseType.Tentative: case ResponseType.Accept: case ResponseType.Decline: return(ResponseRumInfo.CreateMasterInstance()); } }
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)); }