Exemple #1
0
        // 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);
        }
Exemple #2
0
        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);
                }
            }
        }