// Token: 0x06001224 RID: 4644 RVA: 0x000628D0 File Offset: 0x00060AD0 public static ForwardEventParameters ParseForward(XmlNode xmlNode) { ForwardEventParameters forwardEventParameters = new ForwardEventParameters(); foreach (object obj in xmlNode.ChildNodes) { XmlNode xmlNode2 = (XmlNode)obj; string localName; switch (localName = xmlNode2.LocalName) { case "Forwardees": forwardEventParameters.Forwardees = EventParametersParser.ParseForwardees(xmlNode2); continue; case "Importance": forwardEventParameters.Importance = EventParametersParser.ParseImportance(xmlNode2); continue; case "Body": forwardEventParameters.Notes = EventParametersParser.ParseBody(xmlNode2); continue; case "Source": case "ClientId": case "AccountId": continue; } throw new RequestParsingException("BadForwardEventNode:" + xmlNode2.LocalName); } if (forwardEventParameters.Forwardees == null || forwardEventParameters.Forwardees.Count == 0) { throw new RequestParsingException("MissingForwardees"); } return(forwardEventParameters); }
public void Forward(string key, ForwardEventParameters parameters, CommandContext context = null) { ForwardEventBase forwardEventBase = base.CommandFactory.CreateForwardCommand(key, this); forwardEventBase.Parameters = parameters; forwardEventBase.Execute(context); }
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); } } }