internal CoreAttachmentCollection(IAttachmentProvider attachmentProvider, ICoreItem message, bool forceReadOnly, bool hasAttachments)
 {
     Util.ThrowOnNullArgument(message, "message");
     if (!hasAttachments)
     {
         this.isInitialized = true;
     }
     this.coreItem           = message;
     this.forceReadOnly      = forceReadOnly;
     this.attachmentProvider = attachmentProvider;
     this.fetchProperties    = CoreAttachmentCollection.PrefetchPropertySet;
 }
Exemple #2
0
 internal AttachmentPropertyBag(IAttachmentProvider attachmentProvider, int attachmentNumber, PersistablePropertyBag persistablePropertyBag, bool useCreateFlagOnConnect)
 {
     Util.ThrowOnNullArgument(attachmentProvider, "attachmentProvider");
     Util.ThrowOnNullArgument(persistablePropertyBag, "persistablePropertyBag");
     this.attachmentProvider         = attachmentProvider;
     this.attachmentNumber           = attachmentNumber;
     this.attachmentTablePropertyBag = null;
     this.attachmentTablePropertySet = null;
     this.persistablePropertyBag     = persistablePropertyBag;
     this.useCreateFlagOnConnect     = useCreateFlagOnConnect;
     this.PrefetchPropertyArray      = persistablePropertyBag.PrefetchPropertyArray;
 }
Exemple #3
0
 internal AttachmentPropertyBag(IAttachmentProvider attachmentProvider, int attachmentNumber, PropertyBag attachmentTablePropertyBag, ICollection <NativeStorePropertyDefinition> attachmentTablePropertySet, bool useCreateFlagOnConnect)
 {
     Util.ThrowOnNullArgument(attachmentProvider, "attachmentProvider");
     Util.ThrowOnNullArgument(attachmentTablePropertyBag, "attachmentTablePropertyBag");
     Util.ThrowOnNullArgument(attachmentTablePropertySet, "attachmentTablePropertySet");
     this.attachmentProvider         = attachmentProvider;
     this.attachmentNumber           = attachmentNumber;
     this.attachmentTablePropertyBag = attachmentTablePropertyBag;
     this.attachmentTablePropertySet = attachmentTablePropertySet;
     this.persistablePropertyBag     = null;
     this.useCreateFlagOnConnect     = useCreateFlagOnConnect;
     this.PrefetchPropertyArray      = attachmentTablePropertySet.ToArray <NativeStorePropertyDefinition>();
 }
Exemple #4
0
        /// <inheritdoc />
        public void Unregister(IAttachmentProvider handler)
        {
            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            if (string.IsNullOrEmpty(handler.type))
            {
                throw new ArgumentNullException(nameof(handler.type));
            }

            m_AttachmentHandlers.Remove(handler.type);
        }
        public void AddAttachments(IAttachmentProvider attachmentProvider)
        {
            if (attachmentProvider == null)
            {
                throw new ArgumentNullException("attachmentProvider");
            }

            if (!attachmentProvider.HasAttachments)
            {
                return;
            }

            foreach (XmlNode testCaseNode in _testResultXml.GetElementsByTagName(TestCaseElementName))
            {
                List <String> attachments = attachmentProvider
                                            .GetTestCaseAttachments(GetTestCaseId(testCaseNode))
                                            .ToList();

                if (!attachments.Any())
                {
                    continue;
                }

                XmlElement attachmentListElement = _testResultXml.CreateElement(
                    attachmentProvider.AttachmentListElementName);

                foreach (string attachment in attachments)
                {
                    XmlElement filePathElement = _testResultXml.CreateElement(
                        attachmentProvider.AttachmentElementName);

                    filePathElement.InnerText = attachment;

                    attachmentListElement.AppendChild(filePathElement);
                }

                testCaseNode.AppendChild(attachmentListElement);
            }
        }
Exemple #6
0
 /// <inheritdoc />
 public bool TryGetProvider(string contentType, out IAttachmentProvider provider)
 {
     return(m_AttachmentHandlers.TryGetValue(contentType, out provider));
 }