예제 #1
0
        protected CalendarItemBase GetCalendarItemToUpdate(CalendarItemBase correlatedCalendarItem)
        {
            CalendarItemBase calendarItemBase = correlatedCalendarItem;

            if (calendarItemBase == null)
            {
                MailboxSession calendarMailboxSession = MeetingMessage.GetCalendarMailboxSession(this);
                if ((calendarItemBase = this.RecoverDeletedOccurrence()) == null)
                {
                    ExTraceGlobals.MeetingMessageTracer.Information <GlobalObjectId>((long)this.GetHashCode(), "Storage.MeetingMessage.GetCalendarItemToUpdate: GOID={0}. Creating calendar item", this.GlobalObjectId);
                    StoreObjectId parentFolderId = calendarMailboxSession.SafeGetDefaultFolderId(DefaultFolderType.Calendar);
                    calendarItemBase = (this.IsSeriesMessage ? CalendarItemSeries.CreateSeries(calendarMailboxSession, parentFolderId, false) : CalendarItem.CreateCalendarItem(calendarMailboxSession, parentFolderId, false));
                }
                else
                {
                    ExTraceGlobals.MeetingMessageTracer.Information <GlobalObjectId>((long)this.GetHashCode(), "Storage.MeetingMessage.GetCalendarItemToUpdate: GOID={0}. Recovered deleted occurrence.", this.GlobalObjectId);
                }
            }
            return(calendarItemBase);
        }