private bool SendRumsBase(RumInfo info, bool copyToSentItems, CalendarItemBase item, ref Dictionary <GlobalObjectId, List <Attendee> > organizerRumsSent) { bool flag = false; if (info.Type != RumType.None) { if (info is OrganizerRumInfo) { OrganizerRumInfo info2 = (OrganizerRumInfo)info; this.SendOrganizerRums(info2, copyToSentItems, item, ref organizerRumsSent); flag = true; } else if (info is ResponseRumInfo) { item.SendResponseRum((ResponseRumInfo)info, copyToSentItems); flag = true; } else { if (!(info is AttendeeInquiryRumInfo)) { throw new NotSupportedException(info.GetType().ToString()); } if (((AttendeeInquiryRumInfo)info).WouldRepair) { item.SendAttendeeInquiryRum((AttendeeInquiryRumInfo)info, copyToSentItems); flag = true; } } if (flag) { info.SendTime = new ExDateTime?(ExDateTime.Now); } item.Load(); } return(flag); }
protected override void Merge(RumInfo infoToMerge) { if (infoToMerge is UpdateRumInfo) { base.Merge(infoToMerge); UpdateRumInfo updateRumInfo = (UpdateRumInfo)infoToMerge; this.InconsistencyFlagList = this.InconsistencyFlagList.Union(updateRumInfo.InconsistencyFlagList); return; } string message = string.Format("An update RUM can be merged only with another update RUM. RumInfo type is {0}", infoToMerge.GetType()); throw new ArgumentException(message, "infoToMerge"); }