Skip to content

Commit

Permalink
allow AddEmbeddedPackagePart to use correct extensions for content ty…
Browse files Browse the repository at this point in the history
…pes (#1388)

* allow AddEmbeddedPackagePart to use the correct extension for contenttype
  • Loading branch information
tomjebo authored Apr 5, 2023
1 parent 04ce485 commit a873d3f
Show file tree
Hide file tree
Showing 27 changed files with 1,872 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Fixed incorrect file extensions for vbaProject files (#1292)
- Fixed incorrect file extensions for ImagePart (#1305)
- Fixed incorrect casing for customXml (#1351)
- Fixed AddEmbeddedPackagePart to allow correct extensions for various content types (#1388)

## [2.19.0] - 2022-12-14

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -502,10 +502,8 @@ IEnumerable<Item> CreatePartMethods(PartChild p)
yield return new Item(ItemType.Method, $"Add{p.Name}", writer => GenerateAddPartMethod(writer, type, p, AddPartParameter.MediaDataPart, false));
yield return new Item(ItemType.Method, $"Add{p.Name}", writer => GenerateAddPartMethod(writer, type, p, AddPartParameter.MediaDataPart, true));
}
else if (p.IsSpecialEmbeddedPart)
{
yield return new Item(ItemType.Method, $"Add{p.Name}", writer => GenerateAddPartMethod(writer, type, p, AddPartParameter.ContentType, false));
}

// These are the same now but may need p.IsSpecialEmbeddedPart case later upon redesign of this.
else
{
yield return new Item(ItemType.Method, $"Add{p.Name}", writer => GenerateAddPartMethod(writer, type, p, AddPartParameter.ContentType, false));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,46 @@ public EmbeddedPackagePart AddEmbeddedPackagePart(string contentType)
return childPart;
}

/// <summary>
/// Adds a EmbeddedPackagePart to the ChartPart
/// </summary>
/// <param name="contentType">The content type of the EmbeddedPackagePart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(string contentType, string id)
{
var childPart = new EmbeddedPackagePart();
InitPart(childPart, contentType, id);
return childPart;
}

/// <summary>
/// Adds a EmbeddedPackagePart to the ChartPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedPackagePart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(EmbeddedPackagePartType partType, string id)
{
var contentType = EmbeddedPackagePartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedPackagePartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedPackagePart(contentType, id);
}

/// <summary>
/// Adds a EmbeddedPackagePart to the ChartPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedPackagePart</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(EmbeddedPackagePartType partType)
{
var contentType = EmbeddedPackagePartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedPackagePartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedPackagePart(contentType);
}

/// <summary>
/// Adds a ImagePart to the ChartPart
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,46 @@ public EmbeddedObjectPart AddEmbeddedObjectPart(string contentType)
InitPart(childPart, contentType);
return childPart;
}

/// <summary>
/// Adds a EmbeddedObjectPart to the DialogsheetPart
/// </summary>
/// <param name="contentType">The content type of the EmbeddedObjectPart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(string contentType, string id)
{
var childPart = new EmbeddedObjectPart();
InitPart(childPart, contentType, id);
return childPart;
}

/// <summary>
/// Adds a EmbeddedObjectPart to the DialogsheetPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedObjectPart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(EmbeddedObjectPartType partType, string id)
{
var contentType = EmbeddedObjectPartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedObjectPartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedObjectPart(contentType, id);
}

/// <summary>
/// Adds a EmbeddedObjectPart to the DialogsheetPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedObjectPart</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(EmbeddedObjectPartType partType)
{
var contentType = EmbeddedObjectPartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedObjectPartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedObjectPart(contentType);
}

/// <inheritdoc/>
public override IFeatureCollection Features => _features ??= new GeneratedFeatures(this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,46 @@ public EmbeddedObjectPart AddEmbeddedObjectPart(string contentType)
return childPart;
}

/// <summary>
/// Adds a EmbeddedObjectPart to the EndnotesPart
/// </summary>
/// <param name="contentType">The content type of the EmbeddedObjectPart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(string contentType, string id)
{
var childPart = new EmbeddedObjectPart();
InitPart(childPart, contentType, id);
return childPart;
}

/// <summary>
/// Adds a EmbeddedObjectPart to the EndnotesPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedObjectPart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(EmbeddedObjectPartType partType, string id)
{
var contentType = EmbeddedObjectPartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedObjectPartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedObjectPart(contentType, id);
}

/// <summary>
/// Adds a EmbeddedObjectPart to the EndnotesPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedObjectPart</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(EmbeddedObjectPartType partType)
{
var contentType = EmbeddedObjectPartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedObjectPartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedObjectPart(contentType);
}

/// <summary>
/// Adds a EmbeddedPackagePart to the EndnotesPart
/// </summary>
Expand All @@ -268,6 +308,46 @@ public EmbeddedPackagePart AddEmbeddedPackagePart(string contentType)
return childPart;
}

/// <summary>
/// Adds a EmbeddedPackagePart to the EndnotesPart
/// </summary>
/// <param name="contentType">The content type of the EmbeddedPackagePart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(string contentType, string id)
{
var childPart = new EmbeddedPackagePart();
InitPart(childPart, contentType, id);
return childPart;
}

/// <summary>
/// Adds a EmbeddedPackagePart to the EndnotesPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedPackagePart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(EmbeddedPackagePartType partType, string id)
{
var contentType = EmbeddedPackagePartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedPackagePartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedPackagePart(contentType, id);
}

/// <summary>
/// Adds a EmbeddedPackagePart to the EndnotesPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedPackagePart</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(EmbeddedPackagePartType partType)
{
var contentType = EmbeddedPackagePartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedPackagePartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedPackagePart(contentType);
}

/// <summary>
/// Adds a ImagePart to the EndnotesPart
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,46 @@ public EmbeddedPackagePart AddEmbeddedPackagePart(string contentType)
return childPart;
}

/// <summary>
/// Adds a EmbeddedPackagePart to the ExtendedChartPart
/// </summary>
/// <param name="contentType">The content type of the EmbeddedPackagePart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(string contentType, string id)
{
var childPart = new EmbeddedPackagePart();
InitPart(childPart, contentType, id);
return childPart;
}

/// <summary>
/// Adds a EmbeddedPackagePart to the ExtendedChartPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedPackagePart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(EmbeddedPackagePartType partType, string id)
{
var contentType = EmbeddedPackagePartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedPackagePartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedPackagePart(contentType, id);
}

/// <summary>
/// Adds a EmbeddedPackagePart to the ExtendedChartPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedPackagePart</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(EmbeddedPackagePartType partType)
{
var contentType = EmbeddedPackagePartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedPackagePartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedPackagePart(contentType);
}

/// <summary>
/// Adds a ImagePart to the ExtendedChartPart
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,46 @@ public EmbeddedObjectPart AddEmbeddedObjectPart(string contentType)
return childPart;
}

/// <summary>
/// Adds a EmbeddedObjectPart to the FooterPart
/// </summary>
/// <param name="contentType">The content type of the EmbeddedObjectPart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(string contentType, string id)
{
var childPart = new EmbeddedObjectPart();
InitPart(childPart, contentType, id);
return childPart;
}

/// <summary>
/// Adds a EmbeddedObjectPart to the FooterPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedObjectPart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(EmbeddedObjectPartType partType, string id)
{
var contentType = EmbeddedObjectPartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedObjectPartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedObjectPart(contentType, id);
}

/// <summary>
/// Adds a EmbeddedObjectPart to the FooterPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedObjectPart</param>
/// <return>The newly added part</return>
public EmbeddedObjectPart AddEmbeddedObjectPart(EmbeddedObjectPartType partType)
{
var contentType = EmbeddedObjectPartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedObjectPartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedObjectPart(contentType);
}

/// <summary>
/// Adds a EmbeddedPackagePart to the FooterPart
/// </summary>
Expand All @@ -268,6 +308,46 @@ public EmbeddedPackagePart AddEmbeddedPackagePart(string contentType)
return childPart;
}

/// <summary>
/// Adds a EmbeddedPackagePart to the FooterPart
/// </summary>
/// <param name="contentType">The content type of the EmbeddedPackagePart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(string contentType, string id)
{
var childPart = new EmbeddedPackagePart();
InitPart(childPart, contentType, id);
return childPart;
}

/// <summary>
/// Adds a EmbeddedPackagePart to the FooterPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedPackagePart</param>
/// <param name="id">The relationship id</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(EmbeddedPackagePartType partType, string id)
{
var contentType = EmbeddedPackagePartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedPackagePartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedPackagePart(contentType, id);
}

/// <summary>
/// Adds a EmbeddedPackagePart to the FooterPart
/// </summary>
/// <param name="partType">The part type of the EmbeddedPackagePart</param>
/// <return>The newly added part</return>
public EmbeddedPackagePart AddEmbeddedPackagePart(EmbeddedPackagePartType partType)
{
var contentType = EmbeddedPackagePartTypeInfo.GetContentType(partType);
var partExtension = EmbeddedPackagePartTypeInfo.GetTargetExtension(partType);
OpenXmlPackage.PartExtensionProvider.MakeSurePartExtensionExist(contentType, partExtension);
return AddEmbeddedPackagePart(contentType);
}

/// <summary>
/// Adds a ImagePart to the FooterPart
/// </summary>
Expand Down
Loading

0 comments on commit a873d3f

Please sign in to comment.