protected void BuildCalendarInfobar() { string queryStringParameter = Utilities.GetQueryStringParameter(base.Request, "clr", false); if (queryStringParameter == null) { return; } CalendarUtilities.BuildCalendarInfobar(this.infobar, base.UserContext, this.FolderId ?? base.UserContext.CalendarFolderOwaId, CalendarColorManager.ParseColorIndexString(queryStringParameter, true), true); }
// Token: 0x0600291D RID: 10525 RVA: 0x000E8E90 File Offset: 0x000E7090 protected void BuildCalendarInfobar() { if (base.IsPreviewForm || base.IsEmbeddedItem) { return; } string queryStringParameter = Utilities.GetQueryStringParameter(base.Request, "clr", false); if (queryStringParameter == null) { return; } CalendarUtilities.BuildCalendarInfobar(this.meetingPageWriter.FormInfobar, base.UserContext, base.ParentFolderId, CalendarColorManager.ParseColorIndexString(queryStringParameter, true), false); }
// Token: 0x06002918 RID: 10520 RVA: 0x000E8C7C File Offset: 0x000E6E7C private void GetPrincipalCalendarFolderId() { try { this.principalCalendarFolderId = this.meetingPageWriter.GetPrincipalCalendarFolderId(this.isCalendarItem); } catch (OwaSharedFromOlderVersionException) { this.sharedFromOlderVersion = true; if (base.Item is MeetingMessage) { CalendarUtilities.GetReceiverGSCalendarIdStringAndDisplayName(base.UserContext, (MeetingMessage)base.Item, out this.principalCalendarFolderId, out this.receiverDisplayName); } } }
// Token: 0x06002FDB RID: 12251 RVA: 0x00117464 File Offset: 0x00115664 public static ExDateTime[] GetViewDays(UserContext userContext, ExDateTime[] days, CalendarViewType viewType, OwaStoreObjectId folderId, FolderViewStates viewStates) { ExDateTime exDateTime = (days == null || days.Length == 0) ? DateTimeUtilities.GetLocalTime().Date : days[0]; switch (viewType) { case CalendarViewType.Min: if (days == null || days.Length == 0) { int dailyViewDays = viewStates.DailyViewDays; days = new ExDateTime[dailyViewDays]; for (int i = 0; i < dailyViewDays; i++) { days[i] = exDateTime; exDateTime = exDateTime.IncrementDays(1); } } break; case CalendarViewType.Weekly: days = DateTimeUtilities.GetWeekFromDay(exDateTime, userContext.UserOptions.WeekStartDay, 0, false); break; case CalendarViewType.WorkWeek: days = DateTimeUtilities.GetWeekFromDay(exDateTime, userContext.UserOptions.WeekStartDay, CalendarUtilities.GetWorkDays(userContext, folderId), true); break; case CalendarViewType.Monthly: days = CalendarUtilities.GetViewDaysForMonthlyView(userContext, exDateTime); break; case CalendarViewType.WeeklyAgenda: case CalendarViewType.WorkWeeklyAgenda: { ExDateTime firstDay = CalendarUtilities.GetWeekDays(folderId, userContext, exDateTime, false)[0]; int workDays = CalendarUtilities.GetWorkDays(userContext, folderId); days = CalendarUtilities.GetViewDaysForWeeklyAgenda(workDays, firstDay, viewType == CalendarViewType.WorkWeeklyAgenda); break; } } return(days); }
internal void BuildInfobar(Infobar infobar) { if (this.IsPhishingItemWithEnabledLinks()) { string s = "<a id=\"aIbBlk\" href=\"#\" " + string.Format(CultureInfo.InvariantCulture, ">{0}</a> {1} ", new object[] { LocalizedStrings.GetHtmlEncoded(-672110188), LocalizedStrings.GetHtmlEncoded(-1020475744) }); string s2 = string.Format(CultureInfo.InvariantCulture, "<a href=\"#\" " + Utilities.GetScriptHandler("onclick", "opnHlp(\"" + Utilities.JavascriptEncode(Utilities.BuildEhcHref(HelpIdsLight.EmailSafetyLight.ToString())) + "\");") + ">{0}</a>", new object[] { LocalizedStrings.GetHtmlEncoded(338562664) }); infobar.AddMessage(SanitizedHtmlString.Format("{0}{1}{2}", new object[] { LocalizedStrings.GetNonEncoded(1581910613), SanitizedHtmlString.GetSanitizedStringWithoutEncoding(s), SanitizedHtmlString.GetSanitizedStringWithoutEncoding(s2) }), InfobarMessageType.Phishing); } if (this.isDelegated) { infobar.AddMessage(SanitizedHtmlString.Format(LocalizedStrings.GetHtmlEncoded(-1205864060), new object[] { MeetingUtilities.GetReceivedOnBehalfOfDisplayName(this.meetingRequest) }), InfobarMessageType.Informational); } if (this.meetingRequest.MeetingRequestType == MeetingMessageType.PrincipalWantsCopy) { infobar.AddMessage(SanitizedHtmlString.FromStringId(-332743944), InfobarMessageType.Informational); } if (!this.IsDraft && this.meetingRequest.MeetingRequestType != MeetingMessageType.Outdated && this.CalendarItemBase != null) { CalendarUtilities.AddCalendarInfobarMessages(infobar, this.CalendarItemBase, this.meetingRequest, this.UserContext); } if (this.infobarResponseString != null) { infobar.AddMessage(this.infobarResponseString.Value, InfobarMessageType.Informational); } }
// Token: 0x06002FD2 RID: 12242 RVA: 0x00116930 File Offset: 0x00114B30 private static void GetConflictingAppointments(Infobar infobar, CalendarItemBase calendarItemBase, UserContext userContext) { if (Utilities.IsPublic(calendarItemBase)) { return; } using (CalendarFolder calendarFolder = CalendarFolder.Bind(calendarItemBase.Session as MailboxSession, DefaultFolderType.Calendar)) { AdjacencyOrConflictInfo[] adjacentOrConflictingItems = calendarFolder.GetAdjacentOrConflictingItems(calendarItemBase); if (adjacentOrConflictingItems != null && adjacentOrConflictingItems.Length != 0) { if (Utilities.IsOtherMailbox(calendarItemBase)) { CalendarUtilities.AddConflictingAppointmentsInfobarMessage(infobar, adjacentOrConflictingItems, userContext, calendarItemBase.CalendarItemType, Utilities.GetMailboxOwnerDisplayName((MailboxSession)calendarItemBase.Session), OwaStoreObjectId.CreateFromStoreObject(calendarFolder)); } else { CalendarUtilities.AddConflictingAppointmentsInfobarMessage(infobar, adjacentOrConflictingItems, userContext, calendarItemBase.CalendarItemType); } } } }
public void GetWebCalendarUrl() { OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("Id"); if (owaStoreObjectId.IsGSCalendar) { throw new OwaInvalidRequestException("Cannot pass GS Calendar folder id"); } MailboxSession mailboxSession = base.UserContext.MailboxSession; StoreObjectId storeObjectId = owaStoreObjectId.StoreObjectId; string value = null; if (mailboxSession != null && storeObjectId != null) { value = CalendarUtilities.GetWebCalendarUrl(mailboxSession, storeObjectId); } if (string.IsNullOrEmpty(value)) { throw new OwaInvalidRequestException("The requested folder does not have web calendar url"); } this.Writer.Write(value); }
// Token: 0x06002FDA RID: 12250 RVA: 0x0011739C File Offset: 0x0011559C public static ExDateTime[] GetViewDaysForPublishedView(ISessionContext sessionContext, ExDateTime[] days, CalendarViewType viewType) { ExDateTime exDateTime = (days == null || days.Length == 0) ? DateTimeUtilities.GetLocalTime().Date : days[0]; switch (viewType) { case CalendarViewType.Min: if (days == null || days.Length == 0) { days = new ExDateTime[] { exDateTime }; } break; case CalendarViewType.Weekly: case CalendarViewType.WorkWeek: days = DateTimeUtilities.GetWeekFromDay(exDateTime, sessionContext.WeekStartDay, 62, viewType == CalendarViewType.WorkWeek); break; case CalendarViewType.Monthly: days = CalendarUtilities.GetViewDaysForMonthlyView(sessionContext, exDateTime); break; case CalendarViewType.WeeklyAgenda: case CalendarViewType.WorkWeeklyAgenda: { bool flag = viewType == CalendarViewType.WorkWeeklyAgenda; ExDateTime firstDay = DateTimeUtilities.GetWeekFromDay(exDateTime, sessionContext.WeekStartDay, 62, flag)[0]; days = CalendarUtilities.GetViewDaysForWeeklyAgenda(62, firstDay, flag); break; } } return(days); }
// Token: 0x06002FD3 RID: 12243 RVA: 0x001169C4 File Offset: 0x00114BC4 private static void AddConflictingAppointmentsInfobarMessage(Infobar infobar, AdjacencyOrConflictInfo[] adjacencyOrConflictInfo, UserContext userContext, CalendarItemType calendarItemType) { CalendarUtilities.AddConflictingAppointmentsInfobarMessage(infobar, adjacencyOrConflictInfo, userContext, calendarItemType, null, null); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); this.infobar.SetInfobarClass("infobarEdit"); this.infobar.SetShouldHonorHideByDefault(true); this.calendarItemBase = base.Initialize <CalendarItemBase>(false, new PropertyDefinition[] { CalendarItemBaseSchema.CalendarItemType, StoreObjectSchema.EffectiveRights }); if (this.calendarItemBase != null) { if (string.Equals(base.OwaContext.FormsRegistryContext.Action, "Open", StringComparison.OrdinalIgnoreCase)) { this.newItemType = NewItemType.ExplicitDraft; } else { this.newItemType = NewItemType.ImplicitDraft; base.DeleteExistingDraft = true; } } else { this.calendarItemBase = Utilities.CreateDraftMeetingRequestFromQueryString(base.UserContext, base.Request, new PropertyDefinition[] { StoreObjectSchema.EffectiveRights }); if (this.calendarItemBase != null) { this.newItemType = NewItemType.ImplicitDraft; base.DeleteExistingDraft = true; base.Item = this.calendarItemBase; } } if (this.calendarItemBase != null) { this.isMeeting = this.calendarItemBase.IsMeeting; this.startTime = this.calendarItemBase.StartTime; this.endTime = this.calendarItemBase.EndTime; if (this.calendarItemBase.IsAllDayEvent && !this.IsRecurringMaster) { this.endTime = this.endTime.IncrementDays(-1); } this.recipientWell = new CalendarItemRecipientWell(this.calendarItemBase); this.bodyMarkup = BodyConversionUtilities.GetBodyFormatOfEditItem(this.calendarItemBase, this.newItemType, base.UserContext.UserOptions); this.toolbar = new EditCalendarItemToolbar(this.calendarItemBase, this.isMeeting, this.bodyMarkup, this.IsPublicItem); this.toolbar.ToolbarType = (base.IsPreviewForm ? ToolbarType.Preview : ToolbarType.Form); this.isBeingCanceled = (Utilities.GetQueryStringParameter(base.Request, "c", false) != null); string queryStringParameter = Utilities.GetQueryStringParameter(base.Request, "er", false); if (queryStringParameter != null) { if (this.calendarItemBase.CalendarItemType != CalendarItemType.RecurringMaster || !(this.calendarItemBase is CalendarItem)) { throw new OwaInvalidRequestException("Invalid calendar item type. Only recurring masters support specifying an end range"); } this.endRange = ExDateTime.MinValue; try { this.endRange = DateTimeUtilities.ParseIsoDate(queryStringParameter, base.UserContext.TimeZone); } catch (OwaParsingErrorException) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>((long)this.GetHashCode(), "Invalid end range provided on URL '{0}'", queryStringParameter); throw new OwaInvalidRequestException(string.Format("Invalid end range provided on URL '{0}'", queryStringParameter)); } if (this.endRange != ExDateTime.MinValue) { CalendarItem calendarItem = (CalendarItem)this.calendarItemBase; this.occurrenceCount = MeetingUtilities.CancelRecurrence(calendarItem, this.endRange); if (this.occurrenceCount == 0) { this.isBeingCanceled = true; } } } string queryStringParameter2 = Utilities.GetQueryStringParameter(base.Request, "od", false); if (queryStringParameter2 != null) { try { this.occurrenceDate = DateTimeUtilities.ParseIsoDate(queryStringParameter2, base.UserContext.TimeZone).Date; goto IL_303; } catch (OwaParsingErrorException) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>((long)this.GetHashCode(), "Invalid occurrence date specified on URL '{0}'", queryStringParameter2); throw new OwaInvalidRequestException(string.Format("Invalid occurrence date provided on URL '{0}'", queryStringParameter2)); } } this.occurrenceDate = DateTimeUtilities.GetLocalTime().Date; IL_303: CalendarUtilities.AddCalendarInfobarMessages(this.infobar, this.calendarItemBase, null, base.UserContext); if (this.isBeingCanceled) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(1328030972), InfobarMessageType.Informational); } this.disableOccurrenceReminderUI = MeetingUtilities.CheckShouldDisableOccurrenceReminderUI(this.calendarItemBase); if (this.disableOccurrenceReminderUI && !this.IsPublicItem) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(-891369593), InfobarMessageType.Informational); } if (!(this.calendarItemBase is CalendarItem)) { this.recurrenceUtilities = new RecurrenceUtilities(null, base.SanitizingResponse); return; } if (0 < this.occurrenceCount) { EndDateRecurrenceRange range = new EndDateRecurrenceRange(((CalendarItem)this.calendarItemBase).Recurrence.Range.StartDate, this.endRange.IncrementDays(-1)); this.recurrenceUtilities = new RecurrenceUtilities(new Recurrence(((CalendarItem)this.calendarItemBase).Recurrence.Pattern, range), base.SanitizingResponse); return; } this.recurrenceUtilities = new RecurrenceUtilities(((CalendarItem)this.calendarItemBase).Recurrence, base.SanitizingResponse); return; } else { this.isMeeting = (Utilities.GetQueryStringParameter(base.Request, "mr", false) != null); if (this.isMeeting && this.IsPublicItem) { throw new OwaInvalidRequestException("Can't create meeting in Owa Public Folders"); } this.isAllDayEvent = (Utilities.GetQueryStringParameter(base.Request, "evt", false) != null); bool flag = Utilities.GetQueryStringParameter(base.Request, "tm", false) != null || this.isAllDayEvent; string queryStringParameter3 = Utilities.GetQueryStringParameter(base.Request, "st", false); if (queryStringParameter3 != null) { try { this.startTime = DateTimeUtilities.ParseIsoDate(queryStringParameter3, base.UserContext.TimeZone); } catch (OwaParsingErrorException) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>((long)this.GetHashCode(), "Invalid start date provided on URL '{0}'", queryStringParameter3); throw new OwaInvalidRequestException(string.Format("Invalid start date provided on URL '{0}'", queryStringParameter3)); } } if (flag || this.startTime == ExDateTime.MinValue) { ExDateTime localTime = DateTimeUtilities.GetLocalTime(); if (this.startTime == ExDateTime.MinValue) { this.startTime = new ExDateTime(base.UserContext.TimeZone, localTime.Year, localTime.Month, localTime.Day, localTime.Hour, localTime.Minute, 0); } else { this.startTime = new ExDateTime(base.UserContext.TimeZone, this.startTime.Year, this.startTime.Month, this.startTime.Day, localTime.Hour, localTime.Minute, 0); } if (this.isAllDayEvent && this.startTime.Hour == 23) { if (this.startTime.Minute >= 30) { this.startTime = this.startTime.Date; } else { this.startTime = new ExDateTime(base.UserContext.TimeZone, this.startTime.Year, this.startTime.Month, this.startTime.Day, 23, 0, 0); this.endTime = new ExDateTime(base.UserContext.TimeZone, this.startTime.Year, this.startTime.Month, this.startTime.Day, 23, 30, 0); } } else if (this.startTime.Minute != 0 && this.startTime.Minute != 30) { this.startTime = this.startTime.AddMinutes((double)(30 - this.startTime.Minute % 30)); } } if (this.endTime == ExDateTime.MinValue) { this.endTime = this.startTime.AddMinutes(60.0); } this.recipientWell = new CalendarItemRecipientWell(); this.bodyMarkup = base.UserContext.UserOptions.ComposeMarkup; this.toolbar = new EditCalendarItemToolbar(null, this.isMeeting, this.bodyMarkup, this.IsPublicItem); this.toolbar.ToolbarType = (base.IsPreviewForm ? ToolbarType.Preview : ToolbarType.Form); this.recurrenceUtilities = new RecurrenceUtilities(null, base.SanitizingResponse); return; } }
private void RenderPayload(params OwaStoreObjectId[] folderIds) { ExTraceGlobals.CalendarCallTracer.TraceDebug((long)this.GetHashCode(), "CalendarViewEventHandler.RenderPayload"); ExDateTime[] array = (ExDateTime[])base.GetParameter("days"); int num = folderIds.Length; if (num > 5) { throw new OwaInvalidRequestException("Too many folders"); } if (num <= 0) { throw new OwaInvalidRequestException("Must pass at least one folder"); } if (array == null) { array = new ExDateTime[] { DateTimeUtilities.GetLocalTime().Date }; } if (array.Length == 0) { throw new OwaInvalidRequestException("Empty days array is not allowed"); } ReadingPanePosition requestReadingPanePosition = Microsoft.Exchange.Clients.Owa.Core.ReadingPanePosition.Min; if (base.IsParameterSet("srp")) { requestReadingPanePosition = (((bool)base.GetParameter("srp")) ? Microsoft.Exchange.Clients.Owa.Core.ReadingPanePosition.Right : Microsoft.Exchange.Clients.Owa.Core.ReadingPanePosition.Off); } bool flag = false; if (base.IsParameterSet("nvs")) { flag = (bool)base.GetParameter("nvs"); } CalendarViewType viewType = (CalendarViewType)base.GetParameter("vt"); using (CalendarAdapterCollection calendarAdapterCollection = new CalendarAdapterCollection(base.UserContext, folderIds, viewType)) { int num2 = 0; if (base.IsParameterSet("dir")) { num2 = (int)base.GetParameter("dir"); } if (num2 != 0) { CalendarViewEventHandler.MoveDates(array, calendarAdapterCollection.ViewType, num2); } array = CalendarUtilities.GetViewDays(base.UserContext, array, calendarAdapterCollection.ViewType, calendarAdapterCollection.PropertyFolderId, calendarAdapterCollection.FolderViewStates); this.ValidateDays(array, calendarAdapterCollection.ViewType, num2); CalendarAdapter[] adapters = calendarAdapterCollection.GetAdapters(array, true); CalendarViewPayloadWriter calendarViewPayloadWriter; if (calendarAdapterCollection.ViewType == CalendarViewType.Monthly) { calendarViewPayloadWriter = new MonthlyViewPayloadWriter(base.UserContext, this.Writer, array, adapters); } else { calendarViewPayloadWriter = new DailyViewPayloadWriter(base.UserContext, this.Writer, array, adapters); } base.ResponseContentType = OwaEventContentType.Javascript; calendarViewPayloadWriter.Render(calendarAdapterCollection.ViewWidth, calendarAdapterCollection.ViewType, calendarAdapterCollection.ReadingPanePosition, requestReadingPanePosition); if (!flag) { calendarAdapterCollection.SaveViewStates(array); } } if (Globals.ArePerfCountersEnabled) { OwaSingleCounters.CalendarViewsRefreshed.Increment(); } }
protected void RenderBusyTypeDropdownList() { CalendarUtilities.RenderBusyTypeDropdownList(base.SanitizingResponse, this.calendarItemBase, false); }
// Token: 0x06002FD0 RID: 12240 RVA: 0x00116600 File Offset: 0x00114800 public static void AddCalendarInfobarMessages(Infobar infobar, CalendarItemBase calendarItemBase, MeetingMessage meetingMessage, UserContext userContext) { if (infobar == null) { throw new ArgumentNullException("infobar"); } if (calendarItemBase == null) { throw new ArgumentNullException("calendarItemBase"); } if (userContext == null) { throw new ArgumentNullException("userContext"); } bool flag = calendarItemBase.IsOrganizer() && calendarItemBase.IsMeeting; ExDateTime localTime = DateTimeUtilities.GetLocalTime(); bool flag2 = false; if (calendarItemBase.IsMeeting && calendarItemBase.IsCancelled) { infobar.AddMessage(-161808760, InfobarMessageType.Informational); } if (calendarItemBase.CalendarItemType == CalendarItemType.RecurringMaster) { CalendarItem calendarItem = (CalendarItem)calendarItemBase; if (calendarItem.Recurrence != null && !(calendarItem.Recurrence.Range is NoEndRecurrenceRange)) { OccurrenceInfo lastOccurrence = calendarItem.Recurrence.GetLastOccurrence(); if (lastOccurrence != null && lastOccurrence.EndTime < localTime) { infobar.AddMessage(-2124392108, InfobarMessageType.Informational); flag2 = true; } } } else if (calendarItemBase.EndTime < localTime) { flag2 = true; if (calendarItemBase.CalendarItemType != CalendarItemType.RecurringMaster) { infobar.AddMessage(-593429293, InfobarMessageType.Informational); } } InfobarMessageBuilder.AddFlag(infobar, calendarItemBase, userContext); if (flag) { if (calendarItemBase.MeetingRequestWasSent) { CalendarUtilities.AddAttendeeResponseCountMessage(infobar, calendarItemBase); } else { infobar.AddMessage(613373695, InfobarMessageType.Informational); } } if (!calendarItemBase.IsOrganizer() && calendarItemBase.IsMeeting) { bool flag3 = false; MeetingRequest meetingRequest = meetingMessage as MeetingRequest; if (meetingRequest != null) { flag3 = (meetingRequest.MeetingRequestType == MeetingMessageType.PrincipalWantsCopy); } if (calendarItemBase.ResponseType != ResponseType.NotResponded) { Strings.IDs?ds = null; Strings.IDs?ds2 = null; switch (calendarItemBase.ResponseType) { case ResponseType.Tentative: ds = new Strings.IDs?(-1859761232); ds2 = new Strings.IDs?(1365345389); break; case ResponseType.Accept: ds = new Strings.IDs?(-700793833); ds2 = new Strings.IDs?(-1153967082); break; case ResponseType.Decline: ds = new Strings.IDs?(-278420592); ds2 = new Strings.IDs?(2009978813); break; } if (ds != null) { ExDateTime property = ItemUtility.GetProperty <ExDateTime>(calendarItemBase, CalendarItemBaseSchema.AppointmentReplyTime, ExDateTime.MinValue); string text = Strings.None; string text2 = string.Empty; if (property != ExDateTime.MinValue) { text = property.ToString(userContext.UserOptions.DateFormat); text2 = property.ToString(userContext.UserOptions.TimeFormat); } string property2 = ItemUtility.GetProperty <string>(calendarItemBase, CalendarItemBaseSchema.AppointmentReplyName, string.Empty); SanitizedHtmlString messageHtml; if (string.Compare(property2, userContext.ExchangePrincipal.MailboxInfo.DisplayName, StringComparison.OrdinalIgnoreCase) == 0) { messageHtml = SanitizedHtmlString.Format(LocalizedStrings.GetHtmlEncoded(ds.Value), new object[] { text, text2 }); } else { messageHtml = SanitizedHtmlString.Format(LocalizedStrings.GetHtmlEncoded(ds2.Value), new object[] { property2, text, text2 }); } infobar.AddMessage(messageHtml, InfobarMessageType.Informational); return; } } else if (!flag2 && !calendarItemBase.IsCancelled) { if (!flag3) { bool property3 = ItemUtility.GetProperty <bool>(calendarItemBase, ItemSchema.IsResponseRequested, true); if (property3) { infobar.AddMessage(919273049, InfobarMessageType.Informational); } else { infobar.AddMessage(1602295502, InfobarMessageType.Informational); } } else { infobar.AddMessage(-200304859, InfobarMessageType.Informational); } CalendarUtilities.GetConflictingAppointments(infobar, calendarItemBase, userContext); } } }
// Token: 0x06002FD4 RID: 12244 RVA: 0x001169D4 File Offset: 0x00114BD4 private static void AddConflictingAppointmentsInfobarMessage(Infobar infobar, AdjacencyOrConflictInfo[] adjacencyOrConflictInfo, UserContext userContext, CalendarItemType calendarItemType, string receivedRepresentingDisplayName, OwaStoreObjectId folderId) { List <AdjacencyOrConflictInfo> list = new List <AdjacencyOrConflictInfo>(); List <AdjacencyOrConflictInfo> list2 = new List <AdjacencyOrConflictInfo>(); List <AdjacencyOrConflictInfo> list3 = new List <AdjacencyOrConflictInfo>(); for (int i = 0; i < adjacencyOrConflictInfo.Length; i++) { AdjacencyOrConflictType adjacencyOrConflictType = adjacencyOrConflictInfo[i].AdjacencyOrConflictType; BusyType freeBusyStatus = adjacencyOrConflictInfo[i].FreeBusyStatus; if (freeBusyStatus != BusyType.Free) { if ((adjacencyOrConflictType & AdjacencyOrConflictType.Conflicts) != (AdjacencyOrConflictType)0) { list.Add(adjacencyOrConflictInfo[i]); } else if ((adjacencyOrConflictType & AdjacencyOrConflictType.Precedes) != (AdjacencyOrConflictType)0) { list2.Add(adjacencyOrConflictInfo[i]); } else if ((adjacencyOrConflictType & AdjacencyOrConflictType.Follows) != (AdjacencyOrConflictType)0) { list3.Add(adjacencyOrConflictInfo[i]); } } } if (list.Count == 0 && list2.Count == 0 && list3.Count == 0) { return; } SanitizedHtmlString sanitizedHtmlString = null; if (calendarItemType != CalendarItemType.RecurringMaster) { SanitizingStringBuilder <OwaHtml> sanitizingStringBuilder = new SanitizingStringBuilder <OwaHtml>(); Strings.IDs localizedId = 1786149639; Strings.IDs localizedId2 = -669919370; if (list.Count > 0) { if (string.IsNullOrEmpty(receivedRepresentingDisplayName)) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(-812272237); } else { sanitizedHtmlString = SanitizedHtmlString.FromStringId(49937409); } } else if (list2.Count > 0 && list3.Count > 0) { if (string.IsNullOrEmpty(receivedRepresentingDisplayName)) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(2138994880); } else { sanitizedHtmlString = SanitizedHtmlString.FromStringId(-1207817018); } localizedId = -1877110893; localizedId2 = 1083835406; } else if (list2.Count > 0) { if (string.IsNullOrEmpty(receivedRepresentingDisplayName)) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(-1508975609); } else { sanitizedHtmlString = SanitizedHtmlString.FromStringId(602898401); } localizedId = 2029212075; localizedId2 = -1796482192; } else if (list3.Count > 0) { if (string.IsNullOrEmpty(receivedRepresentingDisplayName)) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(-1710537313); } else { sanitizedHtmlString = SanitizedHtmlString.FromStringId(-996033031); } localizedId = -608468101; localizedId2 = -1733349590; } sanitizingStringBuilder.Append("<span id=spnS class=IbL>"); sanitizingStringBuilder.Append(LocalizedStrings.GetNonEncoded(localizedId)); sanitizingStringBuilder.Append("</span>"); sanitizingStringBuilder.Append("<span id=spnH class=IbL style=\"display:none\">"); sanitizingStringBuilder.Append(LocalizedStrings.GetNonEncoded(localizedId2)); sanitizingStringBuilder.Append("</span>"); SanitizingStringBuilder <OwaHtml> sanitizingStringBuilder2 = new SanitizingStringBuilder <OwaHtml>(); sanitizingStringBuilder2.Append("<div id=\"divCnf\">"); if (list.Count > 0) { sanitizingStringBuilder2.Append <SanitizedHtmlString>(CalendarUtilities.BuildAdjacencyOrConflictSection(list, LocalizedStrings.GetNonEncoded(-1874853770), userContext, folderId)); } if (list2.Count > 0) { sanitizingStringBuilder2.Append <SanitizedHtmlString>(CalendarUtilities.BuildAdjacencyOrConflictSection(list2, LocalizedStrings.GetNonEncoded(2095567903), userContext, folderId)); } if (list3.Count > 0) { sanitizingStringBuilder2.Append <SanitizedHtmlString>(CalendarUtilities.BuildAdjacencyOrConflictSection(list3, LocalizedStrings.GetNonEncoded(-51439729), userContext, folderId)); } sanitizingStringBuilder2.Append("</div>"); if (!string.IsNullOrEmpty(receivedRepresentingDisplayName)) { sanitizedHtmlString = SanitizedHtmlString.Format(sanitizedHtmlString.ToString(), new object[] { receivedRepresentingDisplayName }); } infobar.AddMessage(sanitizedHtmlString, InfobarMessageType.Expanding, "divIbL", sanitizingStringBuilder.ToSanitizedString <SanitizedHtmlString>(), sanitizingStringBuilder2.ToSanitizedString <SanitizedHtmlString>()); return; } if (list.Count > 0) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(890561325); } else if (list2.Count > 0 || list3.Count > 0) { sanitizedHtmlString = SanitizedHtmlString.FromStringId(1923039961); } infobar.AddMessage(sanitizedHtmlString, InfobarMessageType.Informational); }
public void CopyOrMoveAppointment() { ExTraceGlobals.MailCallTracer.TraceDebug((long)this.GetHashCode(), "CalendarViewEventHandler.CrossCalendarCopyMove"); OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("Id"); string changeKey = (string)base.GetParameter("CK"); OwaStoreObjectId owaStoreObjectId2 = (OwaStoreObjectId)base.GetParameter("fId"); bool flag = (bool)base.GetParameter("fC"); StoreObjectId storeObjectId = owaStoreObjectId2.StoreObjectId; CalendarItemBase calendarItemBase = null; if (Utilities.IsELCRootFolder(owaStoreObjectId2, base.UserContext)) { throw new OwaInvalidRequestException("Cannot move messages to the root ELC folder."); } if (owaStoreObjectId.IsGSCalendar) { throw new OwaInvalidRequestException("Item id cannot be GS Calendar folder id"); } if (owaStoreObjectId2.IsGSCalendar) { throw new OwaInvalidRequestException("Cannot copy/move to GS Calendar"); } MailboxSession mailboxSession = owaStoreObjectId2.GetSessionForFolderContent(base.UserContext) as MailboxSession; if (mailboxSession == null) { throw new OwaInvalidRequestException("Cannot copy/move to public folder by this function"); } if (storeObjectId.ObjectType != StoreObjectType.CalendarFolder) { throw new OwaInvalidRequestException("This function only support to copy/move to calendar folder"); } try { calendarItemBase = Utilities.GetItem <CalendarItemBase>(base.UserContext, owaStoreObjectId, changeKey, new PropertyDefinition[] { StoreObjectSchema.EffectiveRights }); if (calendarItemBase.ParentId.Equals(storeObjectId)) { this.RenderCopyMoveFail(-612884101); } else { MailboxSession mailboxSession2 = calendarItemBase.Session as MailboxSession; if (mailboxSession2 == null) { throw new OwaInvalidRequestException("Cannot copy/move from public folder by this function"); } if (!StringComparer.OrdinalIgnoreCase.Equals(mailboxSession2.MailboxOwner.LegacyDn, mailboxSession.MailboxOwner.LegacyDn)) { if (flag) { this.RenderCopyMoveFail(-1539006262); } else { this.RenderCopyMoveFail(1992576846); } } else { bool flag2 = Utilities.CanCreateItemInFolder(base.UserContext, owaStoreObjectId2) && !Utilities.IsExternalSharedInFolder(base.UserContext, owaStoreObjectId2); if (!flag) { flag2 = (flag2 && CalendarUtilities.UserCanDeleteCalendarItem(calendarItemBase) && !Utilities.IsItemInExternalSharedInFolder(base.UserContext, calendarItemBase)); } if (!flag2) { ExTraceGlobals.CalendarTracer.TraceDebug(0L, "User have no rights to remove item from source folder or create new item in target folder."); this.Writer.Write("<div id=divOp _sOp=\"np\"></div>"); } else { if (flag) { calendarItemBase.CopyToFolder(mailboxSession, storeObjectId); } else { calendarItemBase.MoveToFolder(mailboxSession, storeObjectId); } this.Writer.Write("<div id=divOp _sOp=\"rf\"></div>"); TargetFolderMRU.AddAndGetFolders(owaStoreObjectId2, base.UserContext); } } } } catch (CalendarItemExistsException) { this.RenderCopyMoveFail(-95861205); } catch (FutureMeetingException) { this.RenderCopyMoveFail(((bool)base.GetParameter("rcr")) ? 225743507 : -989731968); } catch (PrimaryCalendarFolderException) { this.RenderCopyMoveFail(-812685732); } catch (ObjectNotFoundException) { ExTraceGlobals.CalendarDataTracer.TraceDebug((long)this.GetHashCode(), "Calendar item could not be found"); throw; } finally { if (calendarItemBase != null) { calendarItemBase.Dispose(); calendarItemBase = null; } } }
// Token: 0x060025A2 RID: 9634 RVA: 0x000D9F24 File Offset: 0x000D8124 public void AddSharingInfoToInfobar(Infobar infobar) { if (this.disableSharingButton) { return; } ExDateTime?sharingLastSubscribeTime = this.sharingMessage.SharingLastSubscribeTime; if (sharingLastSubscribeTime != null) { infobar.AddMessage(SanitizedHtmlString.Format(LocalizedStrings.GetHtmlEncoded(388258761), new object[] { sharingLastSubscribeTime.Value.ToString(this.userContext.UserOptions.DateFormat), sharingLastSubscribeTime.Value.ToString(this.userContext.UserOptions.TimeFormat) }), InfobarMessageType.Informational, "divInfoAddCal"); } if (this.sharingMessage.SharingMessageType.IsResponseToRequest) { this.AddResponseMessageInfobarToResponseMessage(infobar); return; } if (this.sharingMessage.SharingMessageType.IsInvitationOrRequest) { if (this.sharingMessage.SharingResponseType == SharingResponseType.None) { Strings.IDs localizedID; if (this.sharingMessage.SharingMessageType == SharingMessageType.InvitationAndRequest) { localizedID = 910454547; } else if (this.sharingMessage.SharingMessageType == SharingMessageType.Invitation) { if (!this.sharingMessage.IsPublishing) { localizedID = 176723821; } else if (CalendarUtilities.CanSubscribeInternetCalendar()) { if (string.IsNullOrEmpty(this.sharingMessage.BrowseUrl)) { localizedID = 1455056454; } else { localizedID = 1017528788; } } else { localizedID = -464342883; } } else { localizedID = -2085372735; } infobar.AddMessage(SanitizedHtmlString.Format(LocalizedStrings.GetHtmlEncoded(localizedID), new object[] { this.sharingMessage.InitiatorName }), InfobarMessageType.Informational); return; } this.AddResponseMessageInfobarToRequestMessage(infobar); } }
// Token: 0x06002755 RID: 10069 RVA: 0x000E03B5 File Offset: 0x000DE5B5 protected void RenderCancelRecurrenceMeetingDialog() { CalendarUtilities.RenderCancelRecurrenceMeetingDialog(base.SanitizingResponse, true); }
public void Delete() { ExTraceGlobals.CalendarCallTracer.TraceDebug((long)this.GetHashCode(), "CalendarViewEventHandler.Delete"); OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("Id"); OwaStoreObjectId owaStoreObjectId2 = (OwaStoreObjectId)base.GetParameter("fId"); Item item = null; CalendarItemBase calendarItemBase = null; bool flag = true; try { item = Utilities.GetItem <Item>(base.UserContext, owaStoreObjectId, new PropertyDefinition[] { StoreObjectSchema.EffectiveRights, CalendarItemBaseSchema.MeetingRequestWasSent, CalendarItemBaseSchema.IsOrganizer }); calendarItemBase = (item as CalendarItemBase); if (calendarItemBase != null) { if (!CalendarUtilities.UserCanDeleteCalendarItem(calendarItemBase) || Utilities.IsItemInExternalSharedInFolder(base.UserContext, calendarItemBase)) { base.ResponseContentType = OwaEventContentType.Html; this.Writer.Write("<div id=divOp _sOp=np></div>"); flag = false; } else if (!base.IsParameterSet("FD") && calendarItemBase.IsMeeting && calendarItemBase.MeetingRequestWasSent && calendarItemBase.IsOrganizer()) { base.ResponseContentType = OwaEventContentType.Html; this.Writer.Write("<div id=divOp _sOp=sc></div>"); flag = false; } else if (!base.IsParameterSet("FD") && !calendarItemBase.IsOrganizer() && !calendarItemBase.IsCancelled && !MeetingUtilities.IsCalendarItemEndTimeInPast(calendarItemBase)) { base.ResponseContentType = OwaEventContentType.Html; this.Writer.Write("<div id=divOp _sOp=sr></div>"); flag = false; } else if (!base.IsParameterSet("FD") && (owaStoreObjectId2.IsOtherMailbox || owaStoreObjectId2.IsGSCalendar)) { base.ResponseContentType = OwaEventContentType.Html; this.Writer.Write("<div id=divOp _sOp=sn></div>"); flag = false; } } else if (!ItemUtility.UserCanDeleteItem(item)) { base.ResponseContentType = OwaEventContentType.Html; this.Writer.Write("<div id=divOp _sOp=np></div>"); flag = false; } if (flag) { bool flag2 = false; if (base.IsParameterSet("Ntfy")) { flag2 = (bool)base.GetParameter("Ntfy"); } if (flag2) { PrincipalNotificationMessage principalNotificationMessage = new PrincipalNotificationMessage(owaStoreObjectId.ToBase64String(), owaStoreObjectId2, base.UserContext, this.HttpContext, PrincipalNotificationMessage.ActionType.Delete, false, calendarItemBase.IsMeeting); principalNotificationMessage.SendNotificationMessage(); } bool flag3 = false; if (base.IsParameterSet("Prm")) { flag3 = (bool)base.GetParameter("Prm"); } DeleteItemFlags deleteItemFlags = DeleteItemFlags.None; if (!owaStoreObjectId2.IsPublic) { if (calendarItemBase.IsOrganizer()) { if (calendarItemBase.IsMeeting) { goto IL_269; } deleteItemFlags = DeleteItemFlags.CancelCalendarItem; MeetingCancellation meetingCancellation = null; try { try { calendarItemBase.OpenAsReadWrite(); meetingCancellation = calendarItemBase.CancelMeeting(null, null); } catch (ObjectNotFoundException) { } catch (AccessDeniedException) { } goto IL_269; } finally { if (meetingCancellation != null) { meetingCancellation.Dispose(); } meetingCancellation = null; } } deleteItemFlags = DeleteItemFlags.DeclineCalendarItemWithoutResponse; } IL_269: calendarItemBase.DeleteMeeting((flag3 ? DeleteItemFlags.SoftDelete : DeleteItemFlags.MoveToDeletedItems) | deleteItemFlags); this.RenderPayload(new OwaStoreObjectId[] { owaStoreObjectId2 }); } } catch (ObjectNotFoundException) { ExTraceGlobals.CalendarDataTracer.TraceDebug((long)this.GetHashCode(), "Calendar item could not be found."); throw; } finally { if (item != null) { item.Dispose(); item = null; } } }
// Token: 0x06002FD6 RID: 12246 RVA: 0x001170B8 File Offset: 0x001152B8 public static void RenderCancelRecurrenceMeetingDialog(TextWriter output, bool showCancelOccurrence) { CalendarUtilities.RenderCancelRecurrenceCalendarItemDialog(output, showCancelOccurrence, true, false, false); }
// Token: 0x0600291E RID: 10526 RVA: 0x000E8EE8 File Offset: 0x000E70E8 protected void RenderReminderDropdownList() { CalendarUtilities.RenderReminderDropdownList(base.Response.Output, base.Item, this.MeetingPageWriter.ReminderIsSet, base.IsEmbeddedItem || this.DisableOccurrenceReminderUI || this.IsPublicItem || !this.CanEdit); }
// Token: 0x0600291F RID: 10527 RVA: 0x000E8F3A File Offset: 0x000E713A protected void RenderBusyTypeDropdownList() { CalendarUtilities.RenderBusyTypeDropdownList(base.Response.Output, base.Item, base.IsEmbeddedItem || !this.CanEdit); }
protected void RenderReminderDropdownList() { CalendarUtilities.RenderReminderDropdownList(base.SanitizingResponse, this.calendarItemBase, this.ReminderIsSet, this.DisableOccurrenceReminderUI || this.IsPublicItem); }
// Token: 0x06002FE3 RID: 12259 RVA: 0x001177EC File Offset: 0x001159EC public static ExDateTime[] GetWeekDays(OwaStoreObjectId folderId, UserContext userContext, ExDateTime dayInWeek, bool isWorkWeek) { ExDateTime[] weekFromDay; if (isWorkWeek) { weekFromDay = DateTimeUtilities.GetWeekFromDay(dayInWeek, userContext.UserOptions.WeekStartDay, CalendarUtilities.GetWorkDays(userContext, folderId), true); } else { weekFromDay = DateTimeUtilities.GetWeekFromDay(dayInWeek, userContext.UserOptions.WeekStartDay, 0, false); } return(weekFromDay); }
protected internal override void BuildInfobar() { CalendarUtilities.AddCalendarInfobarMessages(this.FormInfobar, this.CalendarItemBase, null, this.UserContext); }