public void ForwardEvent(StoreId id, ForwardEventParameters parameters, Event updateToEvent = null, int?seriesSequenceNumber = null, string occurrencesViewPropertiesBlob = null, CommandContext commandContext = null) { using (ICalendarItemBase calendarItemBase = this.Bind(id)) { if (updateToEvent != null) { calendarItemBase.OpenAsReadWrite(); this.UpdateOnly(updateToEvent, calendarItemBase, base.GetSaveMode(updateToEvent.ChangeKey, commandContext)); } CalendarItemBase calendarItemBase2 = (CalendarItemBase)calendarItemBase; BodyFormat targetFormat = BodyFormat.TextPlain; if (parameters != null && parameters.Notes != null) { targetFormat = parameters.Notes.ContentType.ToStorageType(); } ReplyForwardConfiguration replyForwardParameters = new ReplyForwardConfiguration(targetFormat) { ShouldSuppressReadReceipt = false }; MailboxSession mailboxSession = base.Session as MailboxSession; using (MessageItem messageItem = calendarItemBase2.CreateForward(mailboxSession, CalendarItemBase.GetDraftsFolderIdOrThrow(mailboxSession), replyForwardParameters, seriesSequenceNumber, occurrencesViewPropertiesBlob)) { EventWorkflowParametersTranslator <ForwardEventParameters, ForwardEventParametersSchema> .Instance.SetPropertiesFromEntityOnStorageObject(parameters, messageItem); foreach (Recipient <RecipientSchema> recipient in parameters.Forwardees) { messageItem.Recipients.Add(new Participant(recipient.Name, recipient.EmailAddress, "SMTP")); } MeetingMessage.SendLocalOrRemote(messageItem, true, true); } } }
public void closeMeeting(String topic) { try { while (checkServerNeedsUpdate()) { _vectorClock = _serverService.updateServer(); } ; MeetingMessage meetingMessage = _serverService.closeMeeting(topic, _username); Meeting meeting = meetingMessage.Meeting; Console.WriteLine(meeting.ToString()); _vectorClock = meetingMessage.VectorClock; } catch (SocketException) { Console.WriteLine("Previously connected server now disconnected..."); newServerConnection(); closeMeeting(topic); } catch (ClosedMeetingException e) { Console.WriteLine(e.message); } catch (NotEnoughAttendeesExceptions e) { Console.WriteLine(e.message); } catch (UnknownMeetingException e) { Console.WriteLine(e.message); } }
public static CalendarItemBase TryGetCorrelatedItem(MeetingMessage meetingMessage) { CalendarItemBase result = null; try { ExTraceGlobals.CalendarTracer.TraceDebug <string>(0L, "Retreiving calendar item associated with meeting message. Value = '{0}'", (meetingMessage.Id != null) ? meetingMessage.Id.ObjectId.ToBase64String() : "null"); result = meetingMessage.GetCorrelatedItem(); } catch (CorrelationFailedException ex) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Can not retrieve calendar item associated with Meeting message. Exception: {0}", ex.Message); } catch (CorruptDataException ex2) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Can not retrieve calendar item associated with Meeting message. Exception: {0}", ex2.Message); } catch (ObjectDisposedException ex3) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Can not retrieve calendar item associated with Meeting message. Exception: {0}", ex3.Message); } catch (StorageTransientException ex4) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Can not retrieve calendar item associated with Meeting message. Exception: {0}", ex4.Message); } catch (InvalidOperationException ex5) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Can not retrieve calendar item associated with Meeting message. Exception: {0}", ex5.Message); } return(result); }
public void createMeeting(String topic, int minAtt, List <Slot> slots, List <String> invitees) { try { while (checkServerNeedsUpdate()) { _vectorClock = _serverService.updateServer(); } ; MeetingMessage meetingMessage = _serverService.createMeeting(_username, topic, minAtt, slots); Meeting meeting = meetingMessage.Meeting; lock (_clientMeetings) _clientMeetings.Add(meeting.Topic, meeting); Console.WriteLine(meeting.ToString()); sendInvite(meeting); _vectorClock = meetingMessage.VectorClock; } catch (SocketException) { Console.WriteLine("Previously connected server now disconnected..."); newServerConnection(); createMeeting(topic, minAtt, slots, invitees); } catch (AlreadyExistingMeetingException e) { Console.WriteLine(e.message); } }
public static void ProcessXsoMeetingMessage(IStoreSession session, MeetingMessage xsoMeetingMessage, CalendarItemBase xsoCalendarItem, IXSOFactory xsoFactory = null) { MeetingMessage message = MeetingMessageTranslator.Instance.ConvertToEntity(xsoMeetingMessage); Event @event = EventTranslator.Instance.ConvertToEntity(xsoCalendarItem); MeetingMessageProcessor.ProcessMeetingMessage(session, message, @event, xsoFactory); EventTranslator.Instance.SetPropertiesFromEntityOnStorageObject(@event, xsoCalendarItem); }
internal bool ProcessMeetingMessage(MeetingMessage meetingMessage, bool doCalendarItemSave) { this.CalendarItemBase = MeetingUtilities.TryPreProcessCalendarItem(meetingMessage, this.userContext, doCalendarItemSave); if (this.CalendarItemBase != null) { return(this.CalendarItemBase.IsOrganizer()); } return(meetingMessage.IsOrganizer()); }
// Token: 0x0600281E RID: 10270 RVA: 0x000E32F8 File Offset: 0x000E14F8 protected void RenderSendOnBehalf(TextWriter writer) { MeetingMessage meetingMessage = (MeetingMessage)base.Item; if (this.isSendOnBehalfOf) { RenderingUtilities.RenderSendOnBehalf(writer, base.UserContext, meetingMessage.From); } }
protected void RenderSender(TextWriter writer) { MeetingMessage meetingMessage = base.Item as MeetingMessage; if (Utilities.IsOnBehalfOf(meetingMessage.Sender, meetingMessage.From)) { RenderingUtilities.RenderSenderOnBehalfOf(meetingMessage.Sender, meetingMessage.From, writer, base.UserContext); return; } RenderingUtilities.RenderSender(base.UserContext, writer, meetingMessage.From); }
public static void ThrowIfMeetingResponseInvalid(MeetingMessage meetingMessage) { MeetingUtilities.ThrowIfWebParts(); MeetingRequest meetingRequest = meetingMessage as MeetingRequest; if (meetingRequest != null && meetingRequest.IsMailboxOwnerTheSender()) { throw new OwaOperationNotSupportedException(LocalizedStrings.GetNonEncoded(679811893)); } MeetingUtilities.ThrowIfInArchiveMailbox(meetingMessage); }
// Token: 0x060013D2 RID: 5074 RVA: 0x00072004 File Offset: 0x00070204 protected virtual bool IsItemDelegated() { if (this.XsoItem is MeetingRequest || this.XsoItem is MeetingCancellation) { MeetingMessage meetingMessage = this.XsoItem as MeetingMessage; if (meetingMessage != null && meetingMessage.IsDelegated()) { return(true); } } return(false); }
/// <summary> /// 根据主题查询会议 /// </summary> /// <param name="senderAppointmentSubject"></param> /// <param name="config"></param> /// <returns></returns> public static MeetingMessage GetSenderMeeting(string senderAppointmentSubject, ExchangeAdminConfig config) { InitializeEws(config); SearchFilter.IsEqualTo senderMeetingMessageSearchBySubject = new SearchFilter.IsEqualTo(MeetingMessageSchema.Subject, senderAppointmentSubject); FindItemsResults <Item> senderMeetingRequestResult = Service.FindItems(WellKnownFolderName.Inbox, senderMeetingMessageSearchBySubject, new ItemView(1)); MeetingMessage senderMeetingMessage = senderMeetingRequestResult.First() as MeetingMessage; senderMeetingMessage.Load(); return(senderMeetingMessage); }
// Token: 0x06001479 RID: 5241 RVA: 0x00076460 File Offset: 0x00074660 private MessageItem CreateSubstituteDelegatedMeetingRequestMessage() { MessageItem messageItem = null; bool flag = false; try { MeetingMessage meetingMessage = base.XsoItem as MeetingMessage; messageItem = MessageItem.CreateInMemory(StoreObjectSchema.ContentConversionProperties); if (messageItem == null) { AirSyncDiagnostics.TraceError(ExTraceGlobals.XsoTracer, null, "CreateSubstituteDelegatedMeetingRequestMessage failed to create in memory message item"); return(null); } Item.CopyItemContent(meetingMessage, messageItem); messageItem.ClassName = "IPM.Note"; messageItem.AttachmentCollection.RemoveAll(); int num = meetingMessage.Body.PreviewText.IndexOf("*~*~*~*~*~*~*~*~*~*"); string value; if (num == -1) { ExTimeZone promotedTimeZoneFromItem = TimeZoneHelper.GetPromotedTimeZoneFromItem(meetingMessage); value = CalendarItemBase.CreateWhenStringForBodyPrefix(meetingMessage, promotedTimeZoneFromItem); } else { value = meetingMessage.Body.PreviewText.Substring(0, num + "*~*~*~*~*~*~*~*~*~*".Length); } using (TextWriter textWriter = messageItem.Body.OpenTextWriter(BodyFormat.TextPlain)) { textWriter.Write(value); } } catch (Exception ex) { AirSyncDiagnostics.TraceError <string>(ExTraceGlobals.XsoTracer, null, "CreateSubstituteDelegatedMeetingRequestMessage: exception thrown: {0}", ex.Message); if (messageItem != null) { flag = true; } throw; } finally { if (flag) { messageItem.Dispose(); messageItem = null; } } return(messageItem); }
private void DeliverToDeletedItems(MailboxSession mailboxSession, MeetingMessage meetingMessage, StoreDriverDeliveryEventArgsImpl deliveryArgument) { StoreObjectId defaultFolderId = mailboxSession.GetDefaultFolderId(DefaultFolderType.DeletedItems); if (defaultFolderId == null) { MeetingMessageProcessingAgent.tracer.TraceError <string, IExchangePrincipal>((long)this.GetHashCode(), "Meeting message {0} to mailbox {1} could not deliver to Deleted Items as this folder does not exist", meetingMessage.InternetMessageId, mailboxSession.MailboxOwner); return; } deliveryArgument.DeliverToFolder = defaultFolderId; deliveryArgument.ShouldSkipMoveRule = true; MeetingMessageProcessingAgent.tracer.TraceDebug <string, IExchangePrincipal>((long)this.GetHashCode(), "Meeting message {0} to mailbox {1} is assigned to deliver to Deleted Items", meetingMessage.InternetMessageId, mailboxSession.MailboxOwner); }
// Token: 0x0600281D RID: 10269 RVA: 0x000E3268 File Offset: 0x000E1468 protected void RenderSender(TextWriter writer) { if (writer == null) { throw new ArgumentNullException("writer"); } MeetingMessage meetingMessage = base.Item as MeetingMessage; if (Utilities.IsOnBehalfOf(meetingMessage.Sender, meetingMessage.From)) { writer.Write(LocalizedStrings.GetHtmlEncoded(-165544498), RenderingUtilities.GetSender(base.UserContext, meetingMessage.Sender, "spnFrom", false, SenderDisplayMode.NameOnly), RenderingUtilities.GetSender(base.UserContext, meetingMessage.From, "spnOrg", false, SenderDisplayMode.NameOnly)); return; } RenderingUtilities.RenderSender(base.UserContext, writer, meetingMessage.From, SenderDisplayMode.NameOnly, null); }
// Token: 0x06000572 RID: 1394 RVA: 0x0002B20C File Offset: 0x0002940C protected override void OnLoad(EventArgs e) { base.OnLoad(e); this.MeetingPageWriterFactory(this.ItemType, e); if (!this.isCalendarItem) { MeetingMessage meetingMessage = base.Item as MeetingMessage; if (meetingMessage == null) { throw new OwaInvalidOperationException("Item must be of MeetingMessage type"); } if (!meetingMessage.IsRead) { meetingMessage.MarkAsRead(Utilities.ShouldSuppressReadReceipt(base.UserContext, meetingMessage), false); } base.HandleReadReceipt(meetingMessage); } else { string queryStringParameter = Utilities.GetQueryStringParameter(base.Request, "dy", false); string queryStringParameter2 = Utilities.GetQueryStringParameter(base.Request, "mn", false); string queryStringParameter3 = Utilities.GetQueryStringParameter(base.Request, "yr", false); int num; int month; int year; if (!string.IsNullOrEmpty(queryStringParameter) && int.TryParse(queryStringParameter, out num) && !string.IsNullOrEmpty(queryStringParameter2) && int.TryParse(queryStringParameter2, out month) && !string.IsNullOrEmpty(queryStringParameter3) && int.TryParse(queryStringParameter3, out year)) { try { this.day = new ExDateTime(base.UserContext.TimeZone, year, month, num).Date; } catch (ArgumentOutOfRangeException) { base.Infobar.AddMessageLocalized(883484089, InfobarMessageType.Error); } } } this.SetInfobarMessages(); if (this.day == ExDateTime.MinValue) { if (this.meetingPageWriter.CalendarItemBase != null && !this.isMeetingResponse) { this.day = this.meetingPageWriter.CalendarItemBase.StartTime; return; } this.day = DateTimeUtilities.GetLocalTime().Date; } }
protected Item BindItem(Item item, ExchangeService service, PropertySet propertySet) { if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.Appointment)) { return(Appointment.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.Task)) { return(Task.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.Contact)) { return(Contact.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.ContactGroup)) { return(ContactGroup.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.PostItem)) { return(PostItem.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.MeetingCancellation)) { return(MeetingCancellation.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.MeetingRequest)) { return(MeetingRequest.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.MeetingResponse)) { return(MeetingResponse.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.MeetingMessage)) { return(MeetingMessage.Bind(service, item.Id, propertySet)); } else if (item.GetType() == typeof(Microsoft.Exchange.WebServices.Data.EmailMessage)) { return(EmailMessage.Bind(service, item.Id, propertySet)); } else { throw new Exception("Unknown Exchange Item type: " + item.GetType().FullName); } }
public static string GetReceivedOnBehalfOfDisplayName(MeetingMessage meetingMessage) { if (meetingMessage == null) { throw new ArgumentNullException("meetingMessage"); } string result = LocalizedStrings.GetNonEncoded(-1018465893); if (meetingMessage.ReceivedRepresenting == null || string.IsNullOrEmpty(meetingMessage.ReceivedRepresenting.DisplayName)) { result = LocalizedStrings.GetNonEncoded(-595380497); } else { result = meetingMessage.ReceivedRepresenting.DisplayName; } return(result); }
// Token: 0x060007B0 RID: 1968 RVA: 0x00036FC0 File Offset: 0x000351C0 internal static bool IsSelfForwardedEvent(MeetingMessage mtgMessage, MailboxSession session) { if (mtgMessage == null || mtgMessage.IsExternalMessage) { return(false); } Participant participant = null; if (OldMessageDeletion.IsSenderSame(mtgMessage.Sender, session, out participant)) { string text = (string)Utils.SafeGetProperty(mtgMessage, MessageItemSchema.ReceivedRepresentingEmailAddress, string.Empty); if (text.Equals(session.MailboxOwner.LegacyDn, StringComparison.OrdinalIgnoreCase)) { return(true); } } return(false); }
// Token: 0x06000920 RID: 2336 RVA: 0x0003D85C File Offset: 0x0003BA5C private static CalendarNotificationType AnalyzeEvent(MapiEvent mapiEvent, MeetingMessage meeting) { CalendarNotificationType result = CalendarNotificationType.Uninteresting; if (meeting is MeetingRequest) { MeetingRequest meetingRequest = (MeetingRequest)meeting; MeetingMessageType meetingRequestType = meetingRequest.MeetingRequestType; if (meetingRequestType <= MeetingMessageType.FullUpdate) { if (meetingRequestType != MeetingMessageType.NewMeetingRequest) { if (meetingRequestType != MeetingMessageType.FullUpdate) { return(result); } goto IL_4A; } } else { if (meetingRequestType == MeetingMessageType.InformationalUpdate || meetingRequestType == MeetingMessageType.SilentUpdate) { goto IL_4A; } if (meetingRequestType != MeetingMessageType.PrincipalWantsCopy) { return(result); } } return(CalendarNotificationType.NewUpdate); IL_4A: if (CalendarChangeProcessor.InterestingFlagsExists(meetingRequest.ChangeHighlight, MapiExtendedEventFlags.NoReminderPropertyModified)) { result = CalendarNotificationType.ChangedUpdate; } } else if (meeting is MeetingCancellation) { result = CalendarNotificationType.DeletedUpdate; } return(result); }
public static CalendarItemBase TryPreProcessCalendarItem(MeetingMessage meetingMessage, UserContext userContext, bool doCalendarItemSave) { if (meetingMessage == null) { throw new ArgumentNullException("meetingMessage"); } if (userContext == null) { throw new ArgumentNullException("userContext"); } CalendarItemBase calendarItemBase = null; meetingMessage.OpenAsReadWrite(); try { ExTraceGlobals.CalendarTracer.TraceDebug <string>(0L, "Retreiving calendar item associated with meeting request. Value = '{0}'", (meetingMessage.Id != null) ? meetingMessage.Id.ObjectId.ToBase64String() : "null"); calendarItemBase = meetingMessage.PreProcess(userContext.CalendarSettings.AddNewRequestsTentatively, userContext.CalendarSettings.ProcessExternalMeetingMessages, userContext.CalendarSettings.DefaultReminderTime); if (doCalendarItemSave && calendarItemBase != null) { Utilities.ValidateCalendarItemBaseStoreObject(calendarItemBase); } if (meetingMessage.IsDirty) { MeetingUtilities.SaveItem(meetingMessage, new PropertyDefinition[0]); } } catch (CorrelationFailedException ex) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Calendar item associated with meeting request could not be found. Exception: {0}", ex.Message); } catch (CalendarProcessingException ex2) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Calendar item associated with meeting request could not be found. Exception: {0}", ex2.Message); } catch (StoragePermanentException ex3) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Calendar item associated with meeting request could not be found. Exception: {0}", ex3.Message); } catch (ConnectionFailedTransientException innerException) { throw new OwaAccessDeniedException(LocalizedStrings.GetNonEncoded(995407892), innerException); } return(calendarItemBase); }
// Token: 0x060007BC RID: 1980 RVA: 0x00037DC8 File Offset: 0x00035FC8 public static void CleanUp(MailboxSession mailboxSession, MeetingMessage item, CalendarItemBase originalCalItem, Trace tracer, out bool fullUpdateDeleted) { fullUpdateDeleted = false; byte[] valueOrDefault = item.GetValueOrDefault <byte[]>(CalendarItemBaseSchema.GlobalObjectId, null); if (valueOrDefault == null) { return; } int valueOrDefault2 = item.GetValueOrDefault <int>(CalendarItemBaseSchema.AppointmentSequenceNumber, -1); if (valueOrDefault2 == -1) { return; } OldMessageDeletion.LatestItemInfo latestInfo; latestInfo.LatestSequenceNumber = -1; List <VersionedId> oldMeetingMessages = RUMOldMessageDeletion.GetOldMeetingMessages(mailboxSession, item, valueOrDefault, valueOrDefault2, out latestInfo); if (oldMeetingMessages == null && latestInfo.LatestSequenceNumber >= valueOrDefault2) { RUMOldMessageDeletion.MarkMeetingMessageAsOld(item, tracer); fullUpdateDeleted = false; return; } if (oldMeetingMessages != null && oldMeetingMessages.Count > 0) { foreach (VersionedId storeId in oldMeetingMessages) { using (MeetingMessage meetingMessage = MeetingMessage.Bind(mailboxSession, storeId)) { RUMOldMessageDeletion.MarkMeetingMessageAsOld(meetingMessage, tracer); } } } MeetingRequest meetingRequest = item as MeetingRequest; if (meetingRequest != null) { OldMessageDeletion.ApplyRollingHighlight(meetingRequest, item.InternetMessageId, originalCalItem, latestInfo); } fullUpdateDeleted = latestInfo.FullUpdateDeleted; }
// Token: 0x060007BE RID: 1982 RVA: 0x00038224 File Offset: 0x00036424 private static void MarkMeetingMessageAsOld(MeetingMessage meetingMessage, Trace tracer) { meetingMessage.MarkAsOutOfDate(); meetingMessage.IsRead = true; try { int num = 3; ConflictResolutionResult saveResults; do { saveResults = meetingMessage.Save(SaveMode.ResolveConflicts); meetingMessage.Load(); num--; }while (num > 0 && !CalendarProcessing.CheckSaveResults(meetingMessage, saveResults, meetingMessage.InternetMessageId)); } catch (ObjectNotFoundException arg) { tracer.TraceWarning <object, ObjectNotFoundException>(0L, "{0}: RUMOldMessageDeletion: Tried to mark a meeting message as Outdated, which does not exist anymore. Exception: {1}", TraceContext.Get(), arg); } }
public virtual void RespondToEvent(StoreId id, RespondToEventParameters parameters, Event updateToEvent = null) { if (parameters == null) { throw new InvalidRequestException(CalendaringStrings.ErrorMissingRequiredRespondParameter); } MeetingResponse meetingResponse = null; try { try { using (ICalendarItemBase calendarItemBase = this.Bind(id)) { calendarItemBase.OpenAsReadWrite(); if (updateToEvent != null) { EventTranslator.Instance.SetPropertiesFromEntityOnStorageObject(updateToEvent, calendarItemBase); } meetingResponse = calendarItemBase.RespondToMeetingRequest(default(ResponseTypeConverter).Convert(parameters.Response), true, true, parameters.ProposedStartTime, parameters.ProposedEndTime); } } catch (ObjectNotFoundException innerException) { throw new AccessDeniedException(Strings.ErrorAccessDenied, innerException); } if (parameters.SendResponse) { EventWorkflowParametersTranslator <RespondToEventParameters, RespondToEventParametersSchema> .Instance.SetPropertiesFromEntityOnStorageObject(parameters, meetingResponse); MeetingMessage.SendLocalOrRemote(meetingResponse, true, true); } } finally { if (meetingResponse != null) { meetingResponse.Dispose(); } } }
public void ModifyCategories() { this.ThrowIfWebPartsCannotActAsOwner(); string[] addCategories = (string[])base.GetParameter("catAdd"); string[] removeCategories = (string[])base.GetParameter("catRem"); using (Item item = this.GetItem()) { CategoryContextMenu.ModifyCategories(item, addCategories, removeCategories); MeetingMessage meetingMessage = item as MeetingMessage; if (meetingMessage != null) { CalendarItemBase calendarItemBase = MeetingUtilities.TryGetCorrelatedItem(meetingMessage); if (calendarItemBase != null) { CategoryContextMenu.ModifyCategories(calendarItemBase, addCategories, removeCategories); Utilities.SaveItem(calendarItemBase); } } Utilities.SaveItem(item, true, SaveMode.FailOnAnyConflict); item.Load(); this.Writer.Write("var sCats = \""); StringBuilder stringBuilder = new StringBuilder(); StringWriter stringWriter = new StringWriter(stringBuilder); CategorySwatch.RenderCategories(base.OwaContext, stringWriter, item); stringWriter.Close(); Utilities.JavascriptEncode(stringBuilder.ToString(), this.Writer); this.Writer.Write("\";"); this.Writer.Write("a_rgCats = "); CategorySwatch.RenderCategoriesJavascriptArray(this.SanitizingWriter, item); this.Writer.Write(";"); this.Writer.Write("a_sId = \""); Utilities.JavascriptEncode(Utilities.GetIdAsString(item), this.Writer); this.Writer.Write("\";"); this.Writer.Write("a_sCK = \""); Utilities.JavascriptEncode(item.Id.ChangeKeyAsBase64String(), this.Writer); this.Writer.Write("\";"); } }
public void joinMeetingSlot(String topic, String slot) { try { while (checkServerNeedsUpdate()) { _vectorClock = _serverService.updateServer(); } ; Meeting meeting = getServerService().getMeeting(topic); if (!meeting.checkInvitation(_username)) { Console.WriteLine("You were not invited to this meeting!"); } MeetingMessage meetingMessage = _serverService.joinMeetingSlot(topic, slot, _username); meeting = meetingMessage.Meeting; if (!meeting.checkInvitation(_username)) { _clientMeetings.Add(meeting.Topic, meeting); } Console.WriteLine(meeting.ToString()); _vectorClock = meetingMessage.VectorClock; } catch (SocketException) { Console.WriteLine("Previously connected server now disconnected..."); newServerConnection(); joinMeetingSlot(topic, slot); }catch (ClosedMeetingException e) { Console.WriteLine(e.message); } catch (SlotNotFoundException e) { Console.WriteLine(e.message); } catch (UnknownMeetingException e) { Console.WriteLine(e.message); } }
// Token: 0x06002916 RID: 10518 RVA: 0x000E8828 File Offset: 0x000E6A28 protected override void OnLoad(EventArgs e) { base.OnLoad(e); string queryStringParameter = Utilities.GetQueryStringParameter(base.Request, "t"); this.MeetingPageWriterFactory(queryStringParameter, e); JunkEmailUtilities.GetJunkEmailPropertiesForItem(base.Item, base.IsEmbeddedItem, base.ForceEnableItemLink, base.UserContext, out this.isInJunkEmailFolder, out this.isSuspectedPhishingItem, out this.itemLinkEnabled, out this.isJunkOrPhishing); if (this.isJunkOrPhishing) { this.bodyMarkup = Markup.PlainText; } if (!ObjectClass.IsCalendarItemCalendarItemOccurrenceOrRecurrenceException(queryStringParameter) && !base.IsPreviewForm) { MeetingMessage meetingMessage = base.Item as MeetingMessage; if (meetingMessage == null) { throw new OwaInvalidOperationException("Item must be of MeetingMessage type"); } if (meetingMessage != null && !meetingMessage.IsRead) { meetingMessage.MarkAsRead(Utilities.ShouldSuppressReadReceipt(base.UserContext, meetingMessage), false); } } object obj = base.Item.TryGetProperty(ItemSchema.SentTime); if (obj != null && !(obj is PropertyError)) { this.sentTime = (ExDateTime)obj; } if (this.sharedFromOlderVersion) { this.meetingPageWriter.FormInfobar.AddMessage(SanitizedHtmlString.Format(LocalizedStrings.GetNonEncoded(1896884103), new object[] { this.receiverDisplayName }), InfobarMessageType.Informational); } }
// Token: 0x060007B3 RID: 1971 RVA: 0x0003708C File Offset: 0x0003528C private void QueryAndDeleteMatchingItems(MailboxSession itemStore, MeetingMessage item, CalendarItemBase originalCalendarItem, byte[] itemGloblObjectId, string internetMessageId, string sentRepresenting, int itemSequenceNumber, ref OldMessageDeletion.LatestItemInfo latestInfo) { try { List <VersionedId> list = this.QueryMatchingItems(itemStore, item, itemGloblObjectId, sentRepresenting, itemSequenceNumber, ref latestInfo); if (item is MeetingRequest && itemSequenceNumber >= latestInfo.LatestSequenceNumber) { OldMessageDeletion.ApplyRollingHighlight((MeetingRequest)item, internetMessageId, originalCalendarItem, latestInfo); } if (list != null && list.Count != 0) { StoreId[] array = list.ToArray(); OldMessageDeletion.Tracer.TraceDebug <object, ArrayTracer <StoreId> >((long)this.GetHashCode(), "{0}: Deleting message: {1}", TraceContext.Get(), new ArrayTracer <StoreId>(array)); CalendarAssistant.TracerPfd.TracePfd <int, object, ArrayTracer <StoreId> >((long)this.GetHashCode(), "PFD IWC {0} {1}: Deleting message: {2}", 29847, TraceContext.Get(), new ArrayTracer <StoreId>(array)); AggregateOperationResult aggregateOperationResult = itemStore.Delete(DeleteItemFlags.MoveToDeletedItems, array); OldMessageDeletion.Tracer.TraceDebug <object, OperationResult>((long)this.GetHashCode(), "{0}: Deleting items returned: {1}", TraceContext.Get(), aggregateOperationResult.OperationResult); CalendarAssistantPerformanceCounters.MeetingMessagesDeleted.IncrementBy((long)list.Count); } } catch (ObjectNotFoundException arg) { OldMessageDeletion.Tracer.TraceDebug <object, ObjectNotFoundException>((long)this.GetHashCode(), "{0}: Stopped OMD because we encountered an exception: {1}", TraceContext.Get(), arg); } }
public static void ProcessMeetingMessage(IStoreSession session, MeetingMessage message, Event @event, IXSOFactory xsoFactory = null) { try { MeetingMessageType type = message.Type; if (type != MeetingMessageType.SeriesRequest) { throw new NotSupportedException(string.Format("Not supported meeting message type: {0}", message.Type)); } ProcessMeetingMessageCommand processMeetingMessageCommand = new ProcessSeriesMeetingRequest { MeetingMessage = message, Event = @event }; CalendaringContainer calendaringContainer = new CalendaringContainer(session, xsoFactory); processMeetingMessageCommand.Scope = (calendaringContainer.Calendars.Default.Events as Events); processMeetingMessageCommand.Execute(null); } catch (Exception arg) { ExTraceGlobals.MeetingMessageProcessingTracer.TraceError <string, Exception>(0L, "Error processing meeting message for message '{0}'. Error {1}", message.Id ?? string.Empty, arg); throw; } }
public void CancelEvent(StoreId id, CancelEventParameters parameters, int?seriesSequenceNumber = null, bool deleteAfterCancelling = true, Event updateToEvent = null, byte[] masterGoid = null) { using (ICalendarItemBase calendarItemBase = this.Bind(id)) { if (calendarItemBase.IsMeeting && !calendarItemBase.IsOrganizer()) { throw new InvalidRequestException(CalendaringStrings.ErrorNotAuthorizedToCancel); } calendarItemBase.OpenAsReadWrite(); if (updateToEvent != null) { EventTranslator.Instance.SetPropertiesFromEntityOnStorageObject(updateToEvent, calendarItemBase); } if (calendarItemBase.IsMeeting && calendarItemBase.AttendeeCollection != null && calendarItemBase.AttendeeCollection.Count > 0) { using (MeetingCancellation meetingCancellation = ((CalendarItemBase)calendarItemBase).CancelMeeting(seriesSequenceNumber, masterGoid)) { if (parameters != null) { EventWorkflowParametersTranslator <CancelEventParameters, CancelEventParametersSchema> .Instance.SetPropertiesFromEntityOnStorageObject(parameters, meetingCancellation); } MeetingMessage.SendLocalOrRemote(meetingCancellation, true, true); goto IL_95; } } if (updateToEvent != null) { calendarItemBase.SaveWithConflictCheck(SaveMode.ResolveConflicts); } IL_95 :; } if (deleteAfterCancelling) { this.Delete(id, DeleteItemFlags.MoveToDeletedItems | DeleteItemFlags.CancelCalendarItem); } }
// Token: 0x06002FE6 RID: 12262 RVA: 0x001178DC File Offset: 0x00115ADC public static void GetReceiverGSCalendarIdStringAndDisplayName(UserContext userContext, MeetingMessage item, out string id, out string displayName) { id = string.Empty; displayName = null; ExchangePrincipal exchangePrincipal; if (userContext.DelegateSessionManager.TryGetExchangePrincipal(item.ReceivedRepresenting.EmailAddress, out exchangePrincipal)) { OwaStoreObjectId owaStoreObjectId = OwaStoreObjectId.CreateFromGSCalendarLegacyDN(exchangePrincipal.LegacyDn); id = owaStoreObjectId.ToBase64String(); displayName = exchangePrincipal.MailboxInfo.DisplayName; } }