Пример #1
0
        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);
        }
Пример #2
0
        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");
        }