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 bool SendRums(CalendarItemBase baseItem, ref Dictionary <GlobalObjectId, List <Attendee> > organizerRumsSent) { bool flag = false; if (this.MasterRum.IsNullOp) { using (Dictionary <ExDateTime, RumInfo> .ValueCollection.Enumerator enumerator = this.OccurrenceRums.Values.GetEnumerator()) { while (enumerator.MoveNext()) { RumInfo info = enumerator.Current; if (RumAgent.Instance.SendRums(info, RumFactory.Instance.Policy.CopyRumsToSentItems, baseItem, ref organizerRumsSent)) { flag = true; } } return(flag); } } flag = RumAgent.Instance.SendRums(this.MasterRum, RumFactory.Instance.Policy.CopyRumsToSentItems, baseItem, ref organizerRumsSent); if (flag && this.MasterRum.Type == RumType.Inquiry) { this.InquiredMeeting = true; } return(flag); }
// Token: 0x06000DE2 RID: 3554 RVA: 0x000541B4 File Offset: 0x000523B4 internal static CalendarRepairLogRumEntry CreateInstance(RumInfo repairInfo) { return(new CalendarRepairLogRumEntry { repairInfo = repairInfo }); }
internal void AddInconsistency(CalendarValidationContext context, Inconsistency inconsistency) { this.Inconsistencies.Add(inconsistency); RumInfo rumInfo = RumFactory.Instance.CreateRumInfo(context, inconsistency); if (!rumInfo.IsNullOp) { inconsistency.ShouldFix = true; this.RepairInfo.AddStep(rumInfo); } }
internal void Merge(RepairSteps stepsToMerge) { if (stepsToMerge == null) { throw new ArgumentNullException("stepsToMerge"); } this.MasterRum = RumInfo.Merge(this.MasterRum, stepsToMerge.MasterRum); foreach (RumInfo rum in stepsToMerge.OccurrenceRums.Values) { this.AddOccurrenceRum(rum); } }
private void AddOccurrenceRum(RumInfo rum) { if (this.MasterRum.IsNullOp) { ExDateTime value = rum.OccurrenceOriginalStartTime.Value; if (this.OccurrenceRums.ContainsKey(value)) { this.OccurrenceRums[value] = RumInfo.Merge(this.OccurrenceRums[value], rum); return; } this.OccurrenceRums.Add(rum.OccurrenceOriginalStartTime.Value, rum); } }
public void ForEachSendableRum(Action <RumInfo> action) { if (this.MasterRum.IsNullOp) { using (Dictionary <ExDateTime, RumInfo> .ValueCollection.Enumerator enumerator = this.OccurrenceRums.Values.GetEnumerator()) { while (enumerator.MoveNext()) { RumInfo obj = enumerator.Current; action(obj); } return; } } action(this.MasterRum); }
internal void AddStep(RumInfo rum) { if (rum == null) { throw new ArgumentNullException("rum", "RUM cannot be null."); } if (!rum.IsNullOp) { if (rum.IsOccurrenceRum) { this.AddOccurrenceRum(rum); return; } this.MasterRum = RumInfo.Merge(this.MasterRum, rum); this.OccurrenceRums.Clear(); } }
// Token: 0x06000DC0 RID: 3520 RVA: 0x00053464 File Offset: 0x00051664 private void AddRum(RumInfo rum) { CalendarRepairLogRumEntry item = CalendarRepairLogRumEntry.CreateInstance(rum); this.rumEntries.Add(item); }
private void Initialize(RumInfo master, Dictionary <ExDateTime, RumInfo> occurrences) { this.MasterRum = master; this.OccurrenceRums = occurrences; }