// 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 PreFormActionResponse Execute(OwaContext owaContext, out ApplicationElement applicationElement, out string type, out string state, out string action) { if (owaContext == null) { throw new ArgumentNullException("owaContext"); } applicationElement = ApplicationElement.NotSet; type = string.Empty; action = string.Empty; state = string.Empty; PreFormActionResponse preFormActionResponse = new PreFormActionResponse(); Item item = null; Item item2 = null; MessageItem messageItem = null; try { HttpContext httpContext = owaContext.HttpContext; UserContext userContext = owaContext.UserContext; PropertyDefinition[] prefetchProperties = new PropertyDefinition[] { ItemSchema.SentTime }; item = Utilities.GetItemForRequest <MessageItem>(owaContext, out item2, prefetchProperties); messageItem = ((ReportMessage)item).CreateSendAgain(userContext.DraftsFolderId); if (messageItem is RightsManagedMessageItem) { SanitizedHtmlString sanitizedHtmlString = SanitizedHtmlString.Format(LocalizedStrings.GetHtmlEncoded(1049269714), new object[] { Utilities.GetOfficeDownloadAnchor(BodyFormat.TextPlain, userContext.UserCulture) }); throw new OwaCannotEditIrmDraftException(sanitizedHtmlString.ToString()); } messageItem.Save(SaveMode.ResolveConflicts); messageItem.Load(); preFormActionResponse.ApplicationElement = ApplicationElement.Item; preFormActionResponse.Type = messageItem.ClassName; preFormActionResponse.Action = "Open"; preFormActionResponse.State = "Draft"; preFormActionResponse.AddParameter("id", messageItem.Id.ObjectId.ToBase64String()); } finally { if (item != null) { item.Dispose(); item = null; } if (messageItem != null) { messageItem.Dispose(); messageItem = null; } if (item2 != null) { item2.Dispose(); item2 = null; } } return(preFormActionResponse); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (this.IsPageCacheable) { Utilities.MakePageCacheable(base.Response); } else { Utilities.MakePageNoCacheNoStore(base.Response); } this.InitializeMessage(); if (this.PageSupportSmime && this.message != null && Utilities.IsSMime(this.message)) { if (!Utilities.IsSMimeFeatureUsable(base.OwaContext)) { throw new OwaNeedsSMimeControlToEditDraftException(LocalizedStrings.GetNonEncoded(-1507367759)); } if (Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 1)) { throw new OwaNeedsSMimeControlToEditDraftException(LocalizedStrings.GetNonEncoded(-872682934)); } if (Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 2)) { throw new OwaNeedsSMimeControlToEditDraftException(LocalizedStrings.GetNonEncoded(-1103993212)); } if (!Utilities.CheckSMimeEditFormBasicRequirement(base.ClientSMimeControlStatus, base.OwaContext)) { throw new OwaNeedsSMimeControlToEditDraftException(LocalizedStrings.GetNonEncoded(-1507367759)); } } if (!base.UserContext.IsIrmEnabled && this.message != null && Utilities.IsIrmRestricted(this.message)) { SanitizedHtmlString sanitizedHtmlString = SanitizedHtmlString.Format(LocalizedStrings.GetHtmlEncoded(1049269714), new object[] { Utilities.GetOfficeDownloadAnchor(Microsoft.Exchange.Data.Storage.BodyFormat.TextPlain, base.UserContext.UserCulture) }); throw new OwaCannotEditIrmDraftException(sanitizedHtmlString.ToString()); } if (this.message != null) { string action = base.OwaContext.FormsRegistryContext.Action; string state = base.OwaContext.FormsRegistryContext.State; if (string.CompareOrdinal(action, "Reply") == 0 || string.CompareOrdinal(action, "ReplyAll") == 0) { this.newItemType = NewItemType.Reply; } else if (string.CompareOrdinal(action, "Forward") == 0) { this.newItemType = NewItemType.Forward; } else if (string.Equals(action, "Open", StringComparison.OrdinalIgnoreCase) && string.Equals(state, "Draft", StringComparison.OrdinalIgnoreCase)) { this.newItemType = NewItemType.ExplicitDraft; if (this.message.GetValueOrDefault <bool>(MessageItemSchema.HasBeenSubmitted)) { this.message.AbortSubmit(); } } else { this.newItemType = NewItemType.ImplicitDraft; base.DeleteExistingDraft = true; } } else { this.CreateDraftMessage(); } if (this.message != null && Utilities.IsPublic(this.message)) { throw new OwaInvalidRequestException("No way to open a public message in edit form"); } if (this.IsSMimeControlNeeded && this.PageSupportSmime) { this.bodyMarkup = Markup.Html; } else { this.bodyMarkup = BodyConversionUtilities.GetBodyFormatOfEditItem(base.Item, this.newItemType, base.UserContext.UserOptions); } this.SetIsOtherFolder(); this.infobar.SetInfobarClass("infobarEdit"); this.infobar.SetShouldHonorHideByDefault(true); if (this.newItemType != NewItemType.New) { if (this.newItemType == NewItemType.ExplicitDraft) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(-1981719796), InfobarMessageType.Informational); } InfobarMessageBuilder.AddSensitivity(this.infobar, this.message); if (this.newItemType != NewItemType.ImplicitDraft) { InfobarMessageBuilder.AddCompliance(base.UserContext, this.infobar, this.message, true); } if (base.UserContext.IsIrmEnabled && this.message != null) { InfobarMessageBuilder.AddIrmInformation(this.infobar, this.message, false, true, false, this.IsIrmAsAttachment); } this.recipientWell = new MessageRecipientWell(this.message); this.showBcc = (this.recipientWell.HasRecipients(RecipientWellType.Bcc) || base.UserContext.UserOptions.AlwaysShowBcc); this.showFrom = (this.recipientWell.HasRecipients(RecipientWellType.From) || base.UserContext.UserOptions.AlwaysShowFrom || this.isOtherFolder); this.toolbar = this.BuildToolbar(); this.toolbar.ToolbarType = (base.IsPreviewForm ? ToolbarType.Preview : ToolbarType.Form); this.addSignatureToBody = base.ShouldAddSignatureToBody(this.bodyMarkup, this.newItemType); } else { this.recipientWell = new MessageRecipientWell(); this.showBcc = base.UserContext.UserOptions.AlwaysShowBcc; this.showFrom = (base.UserContext.UserOptions.AlwaysShowFrom || this.isOtherFolder); this.toolbar = new EditMessageToolbar(Importance.Normal, this.bodyMarkup, this.IsSMimeControlMustUpdate, this.IsSMimeControlNeeded, false, false); this.toolbar.ToolbarType = (base.IsPreviewForm ? ToolbarType.Preview : ToolbarType.Form); } if (base.OwaContext.UserContext.IsFeatureEnabled(Feature.SMime) && this.PageSupportSmime) { if (this.IsSMimeControlNeeded && Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 4)) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(330022834), InfobarMessageType.Informational); } else if (this.IsSMimeControlMustUpdate) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(1697878138), InfobarMessageType.Informational); } if (Utilities.IsSMimeControlNeededForEditForm(base.ClientSMimeControlStatus, base.OwaContext) && this.ShowFrom) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(-1863471683), InfobarMessageType.Informational); } if (!Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 1) && !Utilities.IsFlagSet((int)base.ClientSMimeControlStatus, 16) && !base.OwaContext.UserContext.IsExplicitLogonOthersMailbox) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(-1908761042), InfobarMessageType.Warning); } } if (this.Message != null && this.IsRemoveRestricted) { this.toolbar.IsComplianceButtonEnabledInForm = false; } if (this.ShowFrom && this.IsFromWellRestricted) { this.infobar.AddMessage(SanitizedHtmlString.FromStringId(885106754), InfobarMessageType.Informational); } if (this.message != null && this.newItemType == NewItemType.ExplicitDraft && Utilities.IsInArchiveMailbox(base.Item)) { this.toolbar.IsSendButtonEnabledInForm = false; } }
internal static bool GetReminderItemsInternal(UserContext userContext, ExDateTime actualizationTime, TextWriter output) { bool result = false; string name = userContext.UserCulture.Name; List <object[]> list = RemindersRenderingUtilities.QueryReminders(actualizationTime, userContext); if (list.Count == 0) { return(false); } foreach (object[] reminder in list) { ExDateTime exDateTime = RemindersRenderingUtilities.GetItemProperty <ExDateTime>(reminder, ItemSchema.ReminderDueBy, ExDateTime.MinValue); ExDateTime exDateTime2 = RemindersRenderingUtilities.GetItemProperty <ExDateTime>(reminder, ItemSchema.ReminderNextTime, ExDateTime.MinValue); if (!(exDateTime == ExDateTime.MinValue) && !(exDateTime2 == ExDateTime.MinValue) && !(exDateTime2 == RemindersRenderingUtilities.MaxOutlookDate)) { string itemProperty = RemindersRenderingUtilities.GetItemProperty <string>(reminder, StoreObjectSchema.ItemClass, string.Empty); bool itemProperty2 = RemindersRenderingUtilities.GetItemProperty <bool>(reminder, MessageItemSchema.IsDraft, false); int itemProperty3 = RemindersRenderingUtilities.GetItemProperty <int>(reminder, MessageItemSchema.SwappedToDoStore, -1); if (itemProperty.IndexOf("IPM.Schedule.Meeting", StringComparison.OrdinalIgnoreCase) == -1 && (itemProperty.IndexOf("IPM.Note", StringComparison.OrdinalIgnoreCase) == -1 || !itemProperty2) && itemProperty3 == -1) { ExDateTime itemProperty4 = RemindersRenderingUtilities.GetItemProperty <ExDateTime>(reminder, CalendarItemInstanceSchema.StartTime, ExDateTime.MinValue); ExDateTime itemProperty5 = RemindersRenderingUtilities.GetItemProperty <ExDateTime>(reminder, CalendarItemInstanceSchema.EndTime, ExDateTime.MinValue); int num = (int)(itemProperty5 - itemProperty4).TotalMinutes; if (num < 0) { num = 0; } bool flag = ObjectClass.IsCalendarItem(itemProperty); VersionedId itemProperty6 = RemindersRenderingUtilities.GetItemProperty <VersionedId>(reminder, ItemSchema.Id); bool flag2 = false; if (flag) { CalendarItemType itemProperty7 = RemindersRenderingUtilities.GetItemProperty <CalendarItemType>(reminder, CalendarItemBaseSchema.CalendarItemType, CalendarItemType.Single); flag2 = (itemProperty7 == CalendarItemType.RecurringMaster); } VersionedId versionedId = null; string text; string text2; if (flag2) { CalendarItemOccurrence calendarItemOccurrence = null; Item item = null; try { try { item = Utilities.GetItem <Item>(userContext, itemProperty6.ObjectId, new PropertyDefinition[0]); if (item.Reminder != null) { calendarItemOccurrence = (item.Reminder.GetPertinentItem(actualizationTime) as CalendarItemOccurrence); } if (calendarItemOccurrence == null) { continue; } object obj = calendarItemOccurrence.Reminder.DueBy; object obj2 = calendarItemOccurrence.Reminder.ReminderNextTime; if (obj == null || obj2 == null) { continue; } exDateTime2 = (ExDateTime)obj2; exDateTime = (ExDateTime)obj; versionedId = calendarItemOccurrence.Id; text = calendarItemOccurrence.Subject; text2 = calendarItemOccurrence.Location; } catch (StoragePermanentException ex) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Unable to retrieve calendar item occurence for this reminder. Exception: {0}", ex.Message); result = true; continue; } catch (StorageTransientException ex2) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Unable to retrieve calendar item occurence for this reminder. Exception: {0}", ex2.Message); result = true; continue; } goto IL_289; } finally { if (item != null) { item.Dispose(); item = null; } if (calendarItemOccurrence != null) { calendarItemOccurrence.Dispose(); calendarItemOccurrence = null; } } goto IL_26D; } goto IL_26D; IL_289: using (StringWriter stringWriter = new StringWriter()) { stringWriter.Write("<div _lnk=1 class=\"divNotificationsItem\" id=\"b"); Utilities.HtmlEncode(itemProperty6.ObjectId.ToBase64String(), stringWriter); stringWriter.Write("\" ck=\""); Utilities.HtmlEncode(itemProperty6.ChangeKeyAsBase64String(), stringWriter); if (flag2) { stringWriter.Write("\" oid=\""); Utilities.HtmlEncode(versionedId.ObjectId.ToBase64String(), stringWriter); } stringWriter.Write("\" t=\""); Utilities.HtmlEncode(DateTimeUtilities.GetJavascriptDate(exDateTime), stringWriter); stringWriter.Write("\" c=\""); Utilities.HtmlEncode(itemProperty, stringWriter); stringWriter.Write("\" r=\""); Utilities.HtmlEncode(DateTimeUtilities.GetJavascriptDate(exDateTime2), stringWriter); stringWriter.Write("\" d=\""); stringWriter.Write(num); SanitizedHtmlString sanitizedHtmlString = null; if (!string.IsNullOrEmpty(text)) { sanitizedHtmlString = Utilities.SanitizeHtmlEncode(text); } SanitizedHtmlString sanitizedHtmlString2 = null; if (!string.IsNullOrEmpty(text2)) { sanitizedHtmlString2 = Utilities.SanitizeHtmlEncode(text2); } stringWriter.Write("\" subj=\""); stringWriter.Write(sanitizedHtmlString); stringWriter.Write("\" loc=\""); stringWriter.Write(sanitizedHtmlString2); string text3 = string.Format(userContext.UserCulture, LocalizedStrings.GetHtmlEncodedFromKey(name, 580192567), new object[] { Utilities.HtmlEncode(exDateTime.ToString(DateTimeFormatInfo.CurrentInfo.LongDatePattern)), Utilities.HtmlEncode(exDateTime.ToString(userContext.UserOptions.TimeFormat)) }); stringWriter.Write("\" due=\""); stringWriter.Write(text3); stringWriter.Write("\" tabindex=0>"); SmallIconManager.RenderItemIcon(stringWriter, userContext, itemProperty, false, -1, string.Empty, new string[] { "id=\"imgNtfyEnt\"" }); stringWriter.Write("<DIV id=\"c3\" class=\"divNotificationsColumn3\"><div id=\"c3Time\" class=\"divRemindersDueInTime\"></div><div id=\"c3Text\" class=\"divRemindersDueInText\"></div></div>"); stringWriter.Write("<DIV id=\"c2\" class=\"divNotificationsColumn2\"><div id=\"c2Time\" class=\"divRemindersDueInTime\"></div><div id=\"c2Text\" class=\"divRemindersDueInText\"></div></div>"); stringWriter.Write("<DIV id=\"c1\" class=\"divNotificationsColumn1\"><div id=\"c1Row1\" class=\"divNotificationsColumn1Row1\">{0}</div><div id=\"c1Row2\" class=\"divNotificationsColumn1Row2\">{1}</div>", (sanitizedHtmlString != null) ? sanitizedHtmlString.ToString() : string.Empty, text3); if (sanitizedHtmlString2 != null) { stringWriter.Write("<div id=\"c1Row3\" class=\"divNotificationsColumn1Row3\">"); stringWriter.Write(sanitizedHtmlString2); stringWriter.Write("</div>"); } stringWriter.Write("</div></div>"); Utilities.JavascriptEncode(stringWriter.ToString(), output); } continue; IL_26D: text = RemindersRenderingUtilities.GetItemProperty <string>(reminder, ItemSchema.Subject, null); text2 = RemindersRenderingUtilities.GetItemProperty <string>(reminder, CalendarItemBaseSchema.Location, null); goto IL_289; } } } return(result); }