示例#1
0
 protected override void PromoteAttachDataObject()
 {
     if (this.PropertyReader.AttachMethod == 5)
     {
         using (MsgStorageReader embeddedMessageReader = this.PropertyReader.GetEmbeddedMessageReader())
         {
             using (InboundMessageWriter inboundMessageWriter = base.MessageWriter.OpenAttachedMessageWriter())
             {
                 InboundMsgConverter inboundMsgConverter = new InboundMsgConverter(inboundMessageWriter);
                 inboundMsgConverter.InternalConvertToItem(embeddedMessageReader);
                 inboundMessageWriter.Commit();
             }
             return;
         }
     }
     if (this.PropertyReader.AttachMethod == 6)
     {
         using (Stream valueReadStream = this.PropertyReader.GetValueReadStream())
         {
             using (Stream stream = base.MessageWriter.OpenOleAttachmentDataStream())
             {
                 Util.StreamHandler.CopyStreamData(valueReadStream, stream);
             }
         }
     }
 }
示例#2
0
 private void InternalConvertToItem(MsgStorageReader reader)
 {
     CoreObject.GetPersistablePropertyBag(base.CoreItem).SaveFlags |= (PropertyBagSaveFlags.IgnoreMapiComputedErrors | PropertyBagSaveFlags.IgnoreUnresolvedHeaders);
     this.reader = reader;
     this.ConvertMessage();
     for (int num = 0; num != this.reader.RecipientCount; num++)
     {
         this.ConvertRecipient(num);
     }
     for (int num2 = 0; num2 != this.reader.AttachmentCount; num2++)
     {
         this.ConvertAttachment(num2);
     }
 }
示例#3
0
        public void ConvertToItem(Stream msgStorageStream)
        {
            MsgStorageReader msgStorageReader = null;

            try
            {
                msgStorageReader = new MsgStorageReader(msgStorageStream);
                this.InternalConvertToItem(msgStorageReader);
            }
            finally
            {
                if (msgStorageReader != null)
                {
                    msgStorageReader.Dispose();
                }
            }
        }