Esempio n. 1
0
        // create a new part in this package
        internal void CreateInternal(OpenXmlPackage openXmlPackage, MediaDataPartType mediaDataPartType)
        {
            _openXmlPackage = openXmlPackage;

            string contentType   = mediaDataPartType.GetContentType();
            string targetFileExt = mediaDataPartType.GetTargetExtension();

            OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, targetFileExt);

            _uri       = NewPartUri(openXmlPackage, contentType, null);
            _metroPart = _openXmlPackage.CreateMetroPart(_uri, contentType);
        }
Esempio n. 2
0
        // create a new part in this package
        internal void CreateInternal2(OpenXmlPackage openXmlPackage, OpenXmlPart parent, string contentType, Uri partUri)
        {
            // openXmlPackage, parent can not be all null
            if (openXmlPackage == null && parent == null)
            {
                throw new ArgumentNullException(ExceptionMessages.PackageRelatedArgumentNullException);
            }
            else if (parent != null && openXmlPackage != null &&
                     parent.OpenXmlPackage != openXmlPackage)
            {
                throw new ArgumentOutOfRangeException(nameof(parent));
            }
            else if (parent != null && openXmlPackage == null)
            {
                openXmlPackage = parent.OpenXmlPackage;
            }

            // throw exception to catch error in our code
            if (_packagePart != null)
            {
                throw new InvalidOperationException();
            }

            // set the _openXmlPackage so ThrowIfObjectDisposed( ) do not throw.
            _openXmlPackage = openXmlPackage;

            Uri parentUri;

            if (parent != null)
            {
                parentUri = parent.Uri;
            }
            else
            {
                parentUri = new Uri("/", UriKind.Relative);
            }

            _uri = _openXmlPackage.GetUniquePartUri(contentType, parentUri, partUri);

            _packagePart = _openXmlPackage.CreateMetroPart(_uri, contentType);
        }
Esempio n. 3
0
        // create a new part in this package
        internal void CreateInternal2(OpenXmlPackage openXmlPackage, string contentType, Uri partUri)
        {
            // openXmlPackage, parent can not be all null
            if (openXmlPackage == null)
            {
                throw new ArgumentNullException(ExceptionMessages.PackageRelatedArgumentNullException);
            }

            // throw exception to catch error in our code
            if (_metroPart != null)
            {
                throw new InvalidOperationException();
            }

            // set the _openXmlPackage so ThrowIfObjectDisposed( ) do not throw.
            _openXmlPackage = openXmlPackage;

            Uri parentUri = new Uri("/", UriKind.Relative);

            _uri = _openXmlPackage.GetUniquePartUri(contentType, parentUri, partUri);

            _metroPart = _openXmlPackage.CreateMetroPart(_uri, contentType);
        }
Esempio n. 4
0
 // create a new part in this package
 internal void CreateInternal(OpenXmlPackage openXmlPackage, string contentType, string extension)
 {
     _openXmlPackage = openXmlPackage;
     _uri            = NewPartUri(openXmlPackage, contentType, extension);
     _metroPart      = _openXmlPackage.CreateMetroPart(_uri, contentType);
 }
Esempio n. 5
0
        // create a new part in this package
        internal void CreateInternal(OpenXmlPackage openXmlPackage, OpenXmlPart parent, string contentType, string targetExt)
        {
            // openXmlPackage, parent can not be all null
            if (openXmlPackage == null && parent == null)
            {
                throw new ArgumentNullException(ExceptionMessages.PackageRelatedArgumentNullException);
            }
            else if (parent != null && openXmlPackage != null &&
                     parent.OpenXmlPackage != openXmlPackage)
            {
                throw new ArgumentOutOfRangeException(nameof(parent));
            }
            else if (parent != null && openXmlPackage == null)
            {
                openXmlPackage = parent.OpenXmlPackage;
            }

            // throw exception to catch error in our code
            if (_packagePart != null)
            {
                throw new InvalidOperationException();
            }

            // set the _openXmlPackage so ThrowIfObjectDisposed( ) do not throw.
            _openXmlPackage = openXmlPackage;

            Uri parentUri;

            if (parent != null)
            {
                parentUri = parent.Uri;
            }
            else
            {
                parentUri = new Uri("/", UriKind.Relative);
            }

            //OpenXmlPart parentPart = this._ownerPart;

            //Uri is auto generated to make sure it's unique
            string targetPath = GetTargetPath(TargetPath);

            if (targetPath == null)
            {
                targetPath = ".";
            }

            string targetFileExt = targetExt;

            if (!IsContentTypeFixed)
            {
                if (!_openXmlPackage.PartExtensionProvider.TryGetValue(contentType, out targetFileExt))
                {
                    targetFileExt = targetExt;
                }
            }

            if (targetFileExt == null)
            {
                targetFileExt = TargetFileExtension;
            }

            _uri = _openXmlPackage.GetUniquePartUri(contentType, parentUri, targetPath, TargetName, targetFileExt);

            _packagePart = _openXmlPackage.CreateMetroPart(_uri, contentType);
        }